冒泡排序
2015-08-04 22:14
155 查看
分析:
void BubbleSort(SeqList R)
{
//R(1...n)是带排序的文件,采用自下向上扫描,对R做冒泡排序
int i, j;
bool exchange; //交换标志
for (i = 1; i < n; i++)//最多n-1趟排序
{
exchange =0;//本趟排序开始前,交换标志为假
for (j = n - 1; j >= i; j--)
{
if (R[j + 1].key < R[j].key)//交换记录
{
R[0] = R[j + 1];//R[0]不是哨兵,仅做暂存单元
R[j + 1] = R[j];
R[j] = R[0];
exchange = 1;
}
}
if (!exchange)
return;
}//endfor
}//BubbleSort
方法二:
void BubbleSort(int *R)
{
//R(1...n)是带排序的文件,采用自下向上扫描,对R做冒泡排序
int i, j;
int temp;
bool exchange; //交换标志
for (i = 0; i < n; i++)//最多n-1趟排序
{
exchange =0;//本趟排序开始前,交换标志为假
for (j = n - 2; j >= i; j--)
{
if (R[j+1] < R[j])//交换记录
{
temp = R[j + 1];
R[j + 1] = R[j];
R[j] = temp;
exchange = 1;
}
}
if (!exchange)
return;
}//endfor
}//BubbleSort
相关文章推荐
- 十一讲,浮点数,小数点前后分别显示
- 通过HTML和CSS隐藏和显示元素的方法大全
- AndroidStudio Tips
- CSRF 攻击原理和防御方法
- 创建dblink遇到一系列问题
- 2015 Multi-University Training Contest 5 1002
- List View
- 高效 MacBook 工作环境配置
- Docker源码分析(四):Docker Daemon之NewDaemon实现
- iOS中的字符串操作大全
- C 结构体的用法总结
- angularJS--apply() 、digest()和watch()方法
- angularJS--apply() 、digest()和watch()方法
- mybatis 源码系列 组件之 reflection
- pl/sql develop Command Windows 命令
- android Looper Handler机制
- POJ - 3660 - Cow Contest (floyd求传递闭包)
- hdu 5349 MZL's simple problem
- Cubieboard 3编译驱动教程
- C语言:链表的创建、增、删、查