C语言冒泡排序
来源: 阅读:985 次 日期:2014-09-09 09:45:48
温馨提示: 小编为您整理了“C语言冒泡排序”,方便广大网友查阅!

冒泡排序基本思想

将n个记录看作按纵向排列,每趟排序时自下至上对每对相邻记录进行比较,若次序不符合要 求(逆序)就交换。每趟排序结束时都能使排序范围内关键字最小的记录象一个气泡一样升到表上端的对应位置,整个排序过程共进行n-1趟,依次将关键字最 小、次小、第三小…的各个记录“冒到”表的第一个、第二个、第三个…位置上。

初态 第1趟 第2趟 第3趟 第4趟 第5趟 第6趟 第7趟

3812121212121212

2038202020202020

4620382525252525

3846253838383838

7438463838383838

9174384646464646

1291747474747474

2525919191919191

/*

Title: 冒泡排序

Author: Li Aimin

Date: May 2007

算法功能:冒泡排序算法实现将一个长度为n的线性表r上的所有元素按关键字升序排列。

*/

#include

void bubblesort(int r[],int n)

{ /*elements are stored in r[1] to r[n]*/

int i,j,flag;

int temp;

flag=1;

i=1;

while((i

{ flag=0;

for(j=n;j>i;j--) /*内循环控制一趟排序的进行*/

if(r[j]

{

flag=1;

temp=r[j];

r[j]=r[j-1];

r[j-1]=temp;

}

i++;

}

} /*bubblesort*/

void show(int r[] , int n)

{

/*elements are stored in r[1] to r[n]*/

int i;

for(i=1;i<=n;i++)

printf(" %d ",r[i]);

printf("n");

}

void main()

{

int a[9201],i;

for(i=0;i<9201;i++)

a[i]=9201-i;

//show(a,100000);

bubblesort(a,9200);

show(a,9200);

}

更多信息请查看IT技术专栏

更多信息请查看 网络编程
手机网站地址: C语言冒泡排序
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们| 联系我们| 人才招聘| 网站声明| 网站帮助| 非正式的简要咨询| 简要咨询须知| 加入群交流| 手机站点| 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00) 版权所有:
云南网警报警专用图标
Baidu
map