您的位置:首页 > 其它

冒泡排序

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: