C语言中的选择排序

C语言中的选择排序文章目录前言一、选择排序1.计算素组元素个数2.选择排序基本逻辑(例子是从大到小排列)3.具体实现1.外层循环:决定大回合个数每个大回合决出一个席位2.内层循环:决定小回合个数每个小回合进行1V1大战实力强的为擂主直至最后一位挑战者3.两个元素值的交换总结前言在C语言中用来解决排序问题的常见方法有选择排序和冒泡排序两种一、选择排序先上代码:1.计算素组元素个数通过sizeof()计算数组全体元素占空间的大小再去除以一个元素占空间的大小即可得到元素个数。2.选择排序基本

大家好,又见面了,我是你们的朋友全栈君。

前言

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

一、选择排序

先上代码:在这里插入图片描述

1.计算素组元素个数

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

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

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

3.具体实现

1.外层循环: 决定大回合个数 每个大回合决出一个席位

for(i=0;i<siezof(arr)/sizeof(arr[0])-1;i++)//前4位排好最后一位自动排好 

2.内层循环: 决定小回合个数 每个小回合进行1V1大战 实力强的为擂主 直至最后一位挑战者

for(j=i;j<sizeof(arr)/sizeof(arr[0])-1;j++)

3.两个元素值的交换

if(arr[i]<arr[j+1])
{ 
   
 int tmp = arr[i];
 arr[i] = arr[j+1];
 arr[j+1]=tmp;// 通过该方法即可进行两个变量值得交换
}

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

    if(arr[i]<arr[j+1])   -->  if(arr[i]>arr[j+1])

总结

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153001.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python获取Websocket接口的数据

    Python获取Websocket接口的数据作者:小小明在前面的用Tornado实现web聊天室一文中介绍了python实现websocket的方法,这篇文章将要分享如何用python作为客户端获取websocket接口的数据。前文链接:https://blog.csdn.net/as604049322/article/details/112386560websocket的使用WebSocket是一种在单个TCP/TSL连接上,进行全双工、双向通信的协议。WebSocket可以让客户端与服务器之间的数据交换变得更加简单高效,服务端.

    2022年7月15日
    27
  • java 舆情分析_基于Java实现网络舆情分析系统研究与实现.doc[通俗易懂]

    java 舆情分析_基于Java实现网络舆情分析系统研究与实现.doc[通俗易懂]基于Java实现网络舆情分析系统研究与实现基于Java实现网络舆情分析系统研究与实现摘要:通过对各大门户网站、论坛和贴吧的留言和评论的爬取,录入后台数据库。用户可根据主题、内容进行搜索查看。通过利用中科院分词算法进行实现对爬去下来的内容进行分词处理,分词处理后的结果利用自行研究出来的基于权值算法实现的中文情感分析进行评论的倾向性分析,通过对句子结构和主张词以及情感副词的判断来对评论的情感倾向性做出…

    2022年9月21日
    3
  • dmesg命令「建议收藏」

    dmesg命令「建议收藏」Linuxdmesg命令 Linux命令大全Linuxdmesg命令用于显示开机信息。kernel会将开机信息存储在ringbuffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。语法dmesg[-cn][-s]参数说明:-c 显示信息后,清除ri

    2025年8月4日
    3
  • centos7系统更新命令_centos 更新

    centos7系统更新命令_centos 更新1.查看网络IP ifconfig2.下载命令 wget+网址3.安装 yum-y install + 目标4.删除文件 sudo rm 文件所在目录/目标强制删除文件 rm -f删除目录 rm -rf5.复制一个文件到另一个文件夹sudo cp /文件夹/文件 /另一个文件夹6.对一些文件进行读写sudo vim 文件名7….

    2022年8月18日
    9
  • fastjson map转jsonobject_fastjson中Map与JSONObject互换,List与JOSNArray互换的实现「建议收藏」

    fastjson map转jsonobject_fastjson中Map与JSONObject互换,List与JOSNArray互换的实现「建议收藏」fastjson中Map与JSONObject互换,List与JOSNArray互换的实现1、//将map转换成jsonObjectJSONObjectitemJSONObj=JSONObject.parseObject(JSON.toJSONString(itemMap));将Map类型的itemInfo转换成json,再经JSONObject转换实现。2、//将jsonObj转换成Map…

    2022年10月5日
    1
  • 感悟心态(转)

    感悟心态(转)

    2021年8月17日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号