资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,冒泡排序,n,个数排序,需要进行,n-1,趟冒泡,1,1,2,3,4,a0,a1,a2,a3,2,1,3,4,第一次比较,第二次比较,2,3,1,4,a0,、,a1,、,a2,、,a3,分别两两比较并交换,使小数沉底到,a3,第三次比较,2,3,4,1,第一趟冒泡结果,2,2025/2/6 周四,1,2,3,4,a0,a1,a2,a3,比较前:,第一趟冒泡,小数沉底到,a3,2,3,4,1,第一趟冒泡结果,for(i=0;i+;i3),if(aiai+1),temp=ai;,ai=ai+1;,ai+1=temp;,实现一趟冒泡的代码为:,3,2025/2/6 周四,2,3,4,1,a0,a1,a2,a3,3,2,4,1,第一次比较,第二次比较,a0,、,a1,、,a2,分别两两比较交换,小数沉底到,a2,3,4,2,1,第二趟冒泡结果,4,2025/2/6 周四,2,3,4,1,a0,a1,a2,a3,比较前:,第二趟冒泡,小数沉底到,a2,3,4,2,1,第二趟冒泡结果,for(i=0;i+;i2),if(aiai+1),temp=ai;,ai=ai+1;,ai+1=temp;,实现第二趟冒泡的代码为:,5,2025/2/6 周四,3,4,2,1,a0,a1,a2,a3,比较前:,a0,、,a1,两两比较并交换,小数沉底到,a1,4,3,2,1,第三趟冒泡结果,6,2025/2/6 周四,3,4,2,1,a0,a1,a2,a3,比较前:,第三趟冒泡,小数沉底到,a1,4,3,2,1,第三趟比较结果,for(i=0;i+;i1),if(aiai+1),temp=ai;,ai=ai+1;,ai+1=temp;,实现第三趟冒泡的代码为:,7,2025/2/6 周四,for(j=0;j3;j+),1,2,3,4,a0,a1,a2,a3,冒泡排序前:,冒泡排序实现由小到大排序代码,4,3,2,1,冒泡排序后:,for(i=0;i+;i3-j),if(aiai+1),temp=ai;,ai=ai+1;,ai+1=temp;,4,个数排序,需要执行,3,趟冒泡。,每一趟冒泡,需要数据进行两两比较并交换。,8,2025/2/6 周四,选择排序,n,个数排序,需要进行,n-1,趟选择,9,过程为:,令,max,表示最大元素的序号(初值,max=0,),,a0,到,a3,逐一比较,找出最大元素的位置,,a0,与其互换,使最大值位于,a0,。,1,2,3,4,a0,a1,a2,a3,第一次比较,max=1,第一趟:从,4,个元素中选出最大者,将其换入,a0,中,4,2,3,1,第一趟选择结果,1,2,3,4,第二次比较,max=2,1,2,3,4,第三次比较,max=3,10,2025/2/6 周四,1,2,3,4,a0,a1,a2,a3,比较前:,第一趟选择,大数换到,a0,中,只交换一次,第一趟选择结果,max=0;,for(j=1;j4;j+),if(amaxaj),max=j;,temp=a0;,a0=amax;,amax=temp;,实现一趟选择的代码为:,4,2,3,1,11,2025/2/6 周四,过程为:,令,max,表示最大元素的序号(初值,max=1,),,a1,到,a3,逐一比较,找出最大元素的位置,,a1,与其互换,使最大值位于,a1,。,4,2,3,1,a0,a1,a2,a3,第一次比较,max=2,第二趟:从,3,个元素中选出最大者,将其换入,a1,中,4,3,2,1,第二趟选择结果,4,2,3,1,第二次比较,max=2,12,2025/2/6 周四,4,2,3,1,a0,a1,a2,a3,比较前:,第二趟选择,大数换到,a1,中,只交换一次,第二趟选择结果,max=1;,for(j=2;j4;j+),if(amaxaj),max=j;,temp=a1;,a1=amax;,amax=temp;,实现第二趟选择的代码为:,4,3,2,1,13,2025/2/6 周四,过程为:,令,max,表示最大元素的序号(初值,max=2,),,a2,到,a3,逐一比较,找出最大元素的位置,,a2,与其互换,使最大值位于,a2,。,4,3,2,1,a0,a1,a2,a3,第一次比较,max=2,第三趟:从,2,个元素中选出最大者,将其换入,a2,中,4,3,2,1,第三趟选择结果,14,2025/2/6 周四,4,3,2,1,a0,a1,a2,a3,比较前:,第三趟选择,大数换到,a2,中,只交换一次,第三趟选择结果,max=2;,for(j=3;j4;j+),if(amaxaj),max=j;,temp=a2;,a2=amax;,amax=temp;,实现第三趟选择的代码为:,4,3,2,1,15,2025/2/6 周四,for(i=0;i3;i+),1,2,3,4,a0,a1,a2,a3,选择排序前:,选择排序实现由大到小排序代码,4,3,2,1,选择排序后:,max=i;,for(j=i+1;j4;j+),if(amaxaj),max=j;,temp=ai;,ai=amax;,amax=temp;,4,个数排序,需要执行,3,趟选择。,每一趟选择,需要数据进行两两比较,只交换,1,次。,16,2025/2/6 周四,for(i=0;i4;i+),max=i;,for(j=i+1;j4;j+),if(amaxaj),max=j;,temp=ai;,ai=amax;,amax=temp;,17,2025/2/6 周四,
展开阅读全文