C语言中的选择排序

C语言中的选择排序,第1张

C语言中的选择排序

文章目录
  • 前言
  • 一、选择排序
    • 1.计算素组元素个数
    • 2.选择排序基本逻辑(例子是从大到小排列)
    • 3.具体实现
      • 1.外层循环: 决定大回合个数 每个大回合决出一个席位
      • 2.内层循环: 决定小回合个数 每个小回合进行1V1大战 实力强的为擂主 直至最后一位挑战者
      • 3.两个元素值的交换
  • 总结

前言

在C语言中 用来解决排序问题的常见方法有选择排序和冒泡排序两种

一、选择排序

先上代码:

1.计算素组元素个数

通过 sizeof()计算数组全体元素占空间的大小 再去除以 一个元素占空间的大小 即可得到 元素个数

2.选择排序基本逻辑(例子是从大到小排列)

选择排序有些类似于“打擂台”,最强的占有第一个席位,第二强的占有第二个席位 以此类推。
列如
第一次 :例子中的5名选手都会上场打擂台,实力最强的胜出,也就是该数组最大的元素排在第一。
第二次 :最强者不参与他们的擂台赛,剩下4名决出仅次于第一的强者,就就是该数组的第二大元素。
按照次逻辑以此类推 只需要进行(数组元素总数-1场) ,当决出前4强后 最
弱的那一名 自动排到末位。

3.具体实现 1.外层循环: 决定大回合个数 每个大回合决出一个席位
for(i=0;i 
2.内层循环: 决定小回合个数 每个小回合进行1V1大战 实力强的为擂主 直至最后一位挑战者 
for(j=i;j 
3.两个元素值的交换 
if(arr[i] 

从小到大排 只需要改变if中的逻辑即可 如:

    if(arr[i]  if(arr[i]>arr[j+1])
总结

感谢大家的观看 希望该文章能对你有帮助!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4950453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存