- 前言
- 一、选择排序
- 1.计算素组元素个数
- 2.选择排序基本逻辑(例子是从大到小排列)
- 3.具体实现
- 1.外层循环: 决定大回合个数 每个大回合决出一个席位
- 2.内层循环: 决定小回合个数 每个小回合进行1V1大战 实力强的为擂主 直至最后一位挑战者
- 3.两个元素值的交换
- 总结
在C语言中 用来解决排序问题的常见方法有选择排序和冒泡排序两种
一、选择排序先上代码:
1.计算素组元素个数通过 sizeof()计算数组全体元素占空间的大小 再去除以 一个元素占空间的大小 即可得到 元素个数 。
2.选择排序基本逻辑(例子是从大到小排列)选择排序有些类似于“打擂台”,最强的占有第一个席位,第二强的占有第二个席位 以此类推。
列如
第一次 :例子中的5名选手都会上场打擂台,实力最强的胜出,也就是该数组最大的元素排在第一。
第二次 :最强者不参与他们的擂台赛,剩下4名决出仅次于第一的强者,就就是该数组的第二大元素。
按照次逻辑以此类推 只需要进行(数组元素总数-1场) ,当决出前4强后 最
弱的那一名 自动排到末位。
for(i=0;i2.内层循环: 决定小回合个数 每个小回合进行1V1大战 实力强的为擂主 直至最后一位挑战者 for(j=i;j3.两个元素值的交换 if(arr[i]从小到大排 只需要改变if中的逻辑即可 如:
if(arr[i] if(arr[i]>arr[j+1])总结感谢大家的观看 希望该文章能对你有帮助!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)