《C语言设计-冒泡法排序.ppt》由会员分享,可在线阅读,更多相关《C语言设计-冒泡法排序.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、冒泡法排序冒泡法排序数组的应用数组的应用例:输入例:输入例:输入例:输入10101010个数,对这个数,对这个数,对这个数,对这10101010个数排序个数排序个数排序个数排序(由小到大由小到大由小到大由小到大)。假设输入假设输入假设输入假设输入10101010个数为:个数为:个数为:个数为:9 9 9 9,8 8 8 8,5 5 5 5,4 4 4 4,2 2 2 2,0 0 0 0。经过第一趟经过第一趟(共共5 5次比较与交换次比较与交换)后,最大的数后,最大的数9 9已已“沉沉底底”。第第一一趟趟比比较较 然后进行对余下的前面然后进行对余下的前面5个数第二趟比较,如个数第二趟比较,如果有
2、果有n个数,则要进行个数,则要进行n-1趟比较。在第趟比较。在第1趟比较中趟比较中要进行要进行n-1次两两比较,在第次两两比较,在第j趟比较中要进行趟比较中要进行n-j次两两比较。次两两比较。第二趟比较按上面的规律,要将按上面的规律,要将n个元素排序,其核心代码表示如个元素排序,其核心代码表示如下:下:for(i=1;i n;i+)for(j=0;j a j+1)t=a j;a j =a j+1;a j+1 =t;程序:程序:#include void main()int a10;int i,j,t;printf(input 10 numbers:n);for(i=0;i10;i+)scanf
3、(%d,&a i);printf(n);for(j=0;j9;j+)for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t;printf(the sorted numbers:n);for(i=0;i10;i+)printf(%d,ai);printf(n);/*/*程序结束程序结束*/*/程序运行结果如下:程序运行结果如下:input 10 numbers:input 10 numbers:1 0 4 8 12 65-76 100-45 1231 0 4 8 12 65-76 100-45 123the sorted numbers:the sorted numbers:-76-45 0 1 4 8 12 65 100 123-76-45 0 1 4 8 12 65 100 123