欢迎来到天天文库
浏览记录
ID:51325719
大小:210.00 KB
页数:17页
时间:2020-03-21
《冒泡排序与选择排序的比较.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、冒泡排序n个数排序,需要进行n-1趟冒泡1234a[0]a[1]a[2]a[3]2134第一次比较第二次比较2314a[0]、a[1]、a[2]、a[3]分别两两比较并交换,使小数沉底到a[3]第三次比较2341第一趟冒泡结果1234a[0]a[1]a[2]a[3]比较前:第一趟冒泡,小数沉底到a[3]2341第一趟冒泡结果for(i=0;i++;i<3)if(a[i]2、a[0]、a[1]、a[2]分别两两比较交换,小数沉底到a[2]3421第二趟冒泡结果2341a[0]a[1]a[2]a[3]比较前:第二趟冒泡,小数沉底到a[2]3421第二趟冒泡结果for(i=0;i++;i<2)if(a[i]3、1第三趟比较结果for(i=0;i++;i<1)if(a[i]4、1趟选择过程为:令max表示最大元素的序号(初值max=0),a[0]到a[3]逐一比较,找出最大元素的位置,a[0]与其互换,使最大值位于a[0]。1234a[0]a[1]a[2]a[3]第一次比较max=1第一趟:从4个元素中选出最大者,将其换入a[0]中4231第一趟选择结果1234第二次比较max=21234第三次比较max=31234a[0]a[1]a[2]a[3]比较前:第一趟选择,大数换到a[0]中,只交换一次第一趟选择结果max=0;for(j=1;j<4;j++)if(a[max]5、[0]=a[max];a[max]=temp;实现一趟选择的代码为:4231过程为:令max表示最大元素的序号(初值max=1),a[1]到a[3]逐一比较,找出最大元素的位置,a[1]与其互换,使最大值位于a[1]。4231a[0]a[1]a[2]a[3]第一次比较max=2第二趟:从3个元素中选出最大者,将其换入a[1]中4321第二趟选择结果4231第二次比较max=24231a[0]a[1]a[2]a[3]比较前:第二趟选择,大数换到a[1]中,只交换一次第二趟选择结果max=1;for(j=2;j<4;j++)if(a[max]6、j])max=j;temp=a[1];a[1]=a[max];a[max]=temp;实现第二趟选择的代码为:4321过程为:令max表示最大元素的序号(初值max=2),a[2]到a[3]逐一比较,找出最大元素的位置,a[2]与其互换,使最大值位于a[2]。4321a[0]a[1]a[2]a[3]第一次比较max=2第三趟:从2个元素中选出最大者,将其换入a[2]中4321第三趟选择结果4321a[0]a[1]a[2]a[3]比较前:第三趟选择,大数换到a[2]中,只交换一次第三趟选择结果max=2;for(j=3;j<4;j++)if(a[7、max]8、or(j=i+1;j<4;j++)if(a[max]
2、a[0]、a[1]、a[2]分别两两比较交换,小数沉底到a[2]3421第二趟冒泡结果2341a[0]a[1]a[2]a[3]比较前:第二趟冒泡,小数沉底到a[2]3421第二趟冒泡结果for(i=0;i++;i<2)if(a[i]3、1第三趟比较结果for(i=0;i++;i<1)if(a[i]4、1趟选择过程为:令max表示最大元素的序号(初值max=0),a[0]到a[3]逐一比较,找出最大元素的位置,a[0]与其互换,使最大值位于a[0]。1234a[0]a[1]a[2]a[3]第一次比较max=1第一趟:从4个元素中选出最大者,将其换入a[0]中4231第一趟选择结果1234第二次比较max=21234第三次比较max=31234a[0]a[1]a[2]a[3]比较前:第一趟选择,大数换到a[0]中,只交换一次第一趟选择结果max=0;for(j=1;j<4;j++)if(a[max]5、[0]=a[max];a[max]=temp;实现一趟选择的代码为:4231过程为:令max表示最大元素的序号(初值max=1),a[1]到a[3]逐一比较,找出最大元素的位置,a[1]与其互换,使最大值位于a[1]。4231a[0]a[1]a[2]a[3]第一次比较max=2第二趟:从3个元素中选出最大者,将其换入a[1]中4321第二趟选择结果4231第二次比较max=24231a[0]a[1]a[2]a[3]比较前:第二趟选择,大数换到a[1]中,只交换一次第二趟选择结果max=1;for(j=2;j<4;j++)if(a[max]6、j])max=j;temp=a[1];a[1]=a[max];a[max]=temp;实现第二趟选择的代码为:4321过程为:令max表示最大元素的序号(初值max=2),a[2]到a[3]逐一比较,找出最大元素的位置,a[2]与其互换,使最大值位于a[2]。4321a[0]a[1]a[2]a[3]第一次比较max=2第三趟:从2个元素中选出最大者,将其换入a[2]中4321第三趟选择结果4321a[0]a[1]a[2]a[3]比较前:第三趟选择,大数换到a[2]中,只交换一次第三趟选择结果max=2;for(j=3;j<4;j++)if(a[7、max]8、or(j=i+1;j<4;j++)if(a[max]
3、1第三趟比较结果for(i=0;i++;i<1)if(a[i]4、1趟选择过程为:令max表示最大元素的序号(初值max=0),a[0]到a[3]逐一比较,找出最大元素的位置,a[0]与其互换,使最大值位于a[0]。1234a[0]a[1]a[2]a[3]第一次比较max=1第一趟:从4个元素中选出最大者,将其换入a[0]中4231第一趟选择结果1234第二次比较max=21234第三次比较max=31234a[0]a[1]a[2]a[3]比较前:第一趟选择,大数换到a[0]中,只交换一次第一趟选择结果max=0;for(j=1;j<4;j++)if(a[max]5、[0]=a[max];a[max]=temp;实现一趟选择的代码为:4231过程为:令max表示最大元素的序号(初值max=1),a[1]到a[3]逐一比较,找出最大元素的位置,a[1]与其互换,使最大值位于a[1]。4231a[0]a[1]a[2]a[3]第一次比较max=2第二趟:从3个元素中选出最大者,将其换入a[1]中4321第二趟选择结果4231第二次比较max=24231a[0]a[1]a[2]a[3]比较前:第二趟选择,大数换到a[1]中,只交换一次第二趟选择结果max=1;for(j=2;j<4;j++)if(a[max]6、j])max=j;temp=a[1];a[1]=a[max];a[max]=temp;实现第二趟选择的代码为:4321过程为:令max表示最大元素的序号(初值max=2),a[2]到a[3]逐一比较,找出最大元素的位置,a[2]与其互换,使最大值位于a[2]。4321a[0]a[1]a[2]a[3]第一次比较max=2第三趟:从2个元素中选出最大者,将其换入a[2]中4321第三趟选择结果4321a[0]a[1]a[2]a[3]比较前:第三趟选择,大数换到a[2]中,只交换一次第三趟选择结果max=2;for(j=3;j<4;j++)if(a[7、max]8、or(j=i+1;j<4;j++)if(a[max]
4、1趟选择过程为:令max表示最大元素的序号(初值max=0),a[0]到a[3]逐一比较,找出最大元素的位置,a[0]与其互换,使最大值位于a[0]。1234a[0]a[1]a[2]a[3]第一次比较max=1第一趟:从4个元素中选出最大者,将其换入a[0]中4231第一趟选择结果1234第二次比较max=21234第三次比较max=31234a[0]a[1]a[2]a[3]比较前:第一趟选择,大数换到a[0]中,只交换一次第一趟选择结果max=0;for(j=1;j<4;j++)if(a[max]5、[0]=a[max];a[max]=temp;实现一趟选择的代码为:4231过程为:令max表示最大元素的序号(初值max=1),a[1]到a[3]逐一比较,找出最大元素的位置,a[1]与其互换,使最大值位于a[1]。4231a[0]a[1]a[2]a[3]第一次比较max=2第二趟:从3个元素中选出最大者,将其换入a[1]中4321第二趟选择结果4231第二次比较max=24231a[0]a[1]a[2]a[3]比较前:第二趟选择,大数换到a[1]中,只交换一次第二趟选择结果max=1;for(j=2;j<4;j++)if(a[max]6、j])max=j;temp=a[1];a[1]=a[max];a[max]=temp;实现第二趟选择的代码为:4321过程为:令max表示最大元素的序号(初值max=2),a[2]到a[3]逐一比较,找出最大元素的位置,a[2]与其互换,使最大值位于a[2]。4321a[0]a[1]a[2]a[3]第一次比较max=2第三趟:从2个元素中选出最大者,将其换入a[2]中4321第三趟选择结果4321a[0]a[1]a[2]a[3]比较前:第三趟选择,大数换到a[2]中,只交换一次第三趟选择结果max=2;for(j=3;j<4;j++)if(a[7、max]8、or(j=i+1;j<4;j++)if(a[max]
5、[0]=a[max];a[max]=temp;实现一趟选择的代码为:4231过程为:令max表示最大元素的序号(初值max=1),a[1]到a[3]逐一比较,找出最大元素的位置,a[1]与其互换,使最大值位于a[1]。4231a[0]a[1]a[2]a[3]第一次比较max=2第二趟:从3个元素中选出最大者,将其换入a[1]中4321第二趟选择结果4231第二次比较max=24231a[0]a[1]a[2]a[3]比较前:第二趟选择,大数换到a[1]中,只交换一次第二趟选择结果max=1;for(j=2;j<4;j++)if(a[max]6、j])max=j;temp=a[1];a[1]=a[max];a[max]=temp;实现第二趟选择的代码为:4321过程为:令max表示最大元素的序号(初值max=2),a[2]到a[3]逐一比较,找出最大元素的位置,a[2]与其互换,使最大值位于a[2]。4321a[0]a[1]a[2]a[3]第一次比较max=2第三趟:从2个元素中选出最大者,将其换入a[2]中4321第三趟选择结果4321a[0]a[1]a[2]a[3]比较前:第三趟选择,大数换到a[2]中,只交换一次第三趟选择结果max=2;for(j=3;j<4;j++)if(a[7、max]8、or(j=i+1;j<4;j++)if(a[max]
6、j])max=j;temp=a[1];a[1]=a[max];a[max]=temp;实现第二趟选择的代码为:4321过程为:令max表示最大元素的序号(初值max=2),a[2]到a[3]逐一比较,找出最大元素的位置,a[2]与其互换,使最大值位于a[2]。4321a[0]a[1]a[2]a[3]第一次比较max=2第三趟:从2个元素中选出最大者,将其换入a[2]中4321第三趟选择结果4321a[0]a[1]a[2]a[3]比较前:第三趟选择,大数换到a[2]中,只交换一次第三趟选择结果max=2;for(j=3;j<4;j++)if(a[
7、max]8、or(j=i+1;j<4;j++)if(a[max]
8、or(j=i+1;j<4;j++)if(a[max]
此文档下载收益归作者所有