文档详情

C语言相关设计冒泡法排序

ni****g
实名认证
店铺
PPT
119KB
约6页
文档ID:587327991
C语言相关设计冒泡法排序_第1页
1/6

C语言相关设计--冒泡法排序 例:例:例:例:输输入入入入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个数第二趟比个数第二趟比较,如,如果有果有n个数,个数,则要要进行行n-1趟比趟比较在第1趟比趟比较中中要要进行行n-1次两两比次两两比较,在第,在第j趟比趟比较中要中要进行行n-j次两两比次两两比较第二趟比较 按上面的按上面的规律,要将律,要将n个元素排序,其核心代个元素排序,其核心代码表示如表示如下:下: for((i = 1; i < n; i++)) { for((j = 0; j < n-i; j++)) { if(a[ j ] > a[ j +1 ]) { t = a[ j ]; a[ j ] = a[ j +1 ]; a[ j +1 ] = t; } } } 程序:程序:#include void main(){ int a[[10]]; int i, j, t; printf(″input 10 numbers :\n″); for (i=0; i<10; i++) scanf("%d",,&a[ i ]); printf("\n"); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if (a[[i]]>a[[i+1]]) { t=a[i];a[i]=a[i+1]; a[[i+1]]=t; } printf(″the sorted numbers :\n″); for(i=0;i<10;i++) printf(″%d ″,a[[i]]); printf(″\n″);}/*}/*程序程序结束束* */ /程序运行程序运行结果如下:果如下:input 10 numbers:input 10 numbers:1 0 4 8 12 65 -76 100 -45 123↙1 0 4 8 12 65 -76 100 -45 123↙the 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 。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档