《《冒泡法和选择法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《冒泡法和选择法》PPT课件.ppt(6页珍藏版)》请在三一办公上搜索。
1、由以上可推知:6 个数要比较5趟 第一趟中要进行两两比较5次 第二趟中比较 4次 若有n个数,则要进行n-1趟比较 第j趟比较中要进行n-j次两两比较。,排序过程:(1)比较第一个数与第二个数,若为逆序,a1a2,则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束,输入n 个数给a1 到 an,for j=1 to n-1,for i=1 to n-j,aiai+1,真,假,ai
2、ai+1,输出a1 到 an,#include,int a10,i,j,t;,printf(Input 10 numbers:n);for(i=0;i10;i+)scanf(%d,for()for()if(),printf(n);,printf(The sorted numbers:n);for(i=0;i10;i+)printf(%d,ai);,main(),j=0;j9;j+,i=0;i9-j;i+,t=ai;ai=ai+1;ai+1=t;,aiai+1,例 用简单选择法对10个数排序,排序过程:(1)首先通过n-1次比较,从n个数中找出最小的,将它与第一个数交换第一趟选择排序,结果最小的
3、数被安置在第一个元素位置上(2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,将它与第二个数交换第二趟选择排序(3)重复上述过程,共经过n-1趟排序后,排序结束,例,初始:49 38 65 97 76 13 27,i=1,13,49,一趟:13 38 65 97 76 49 27,i=2,27,38,六趟:13 27 38 49 65 76 97,一共比较n-1趟,输入n 个数给a1 到 an,for i=1 to n-1,for j=i+1 to n,ajak,假,输出a1 到 an,k=i,i!=k,假,i=0;i9;i+,t=ai;ai=ak;ak=t;,for(),k=i;,for(),j=i+1;j10;j+,if(),ajak,k=j;,if(i!=k),