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])

总结

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 常用排序算法:直接选择排序[通俗易懂]

    常用排序算法:直接选择排序[通俗易懂]常用排序算法:直接选择排序

  • C++ int与string的相互转换(含源码实现)

    C++ int与string的相互转换(含源码实现)一、int转换成stringⅠ、to_string函数c++11标准增加了全局函数std::to_string:stringto_string(intval);stringto_str

  • javascript实现一个自制网页音乐播放器

    javascript实现一个自制网页音乐播放器序接触简书也有一段日子了,这中间的时光还是比较轻松加愉快的,那种可以和他人分享知识的欣喜和愉悦的确是非常棒。我一向都是觉得专心写自己的文就可以了,不会总是纠结有多少人在看,有多少点击等等。用心写好自己的文,体会那种分享的快乐,就可以了。之前写的《js常用方法和一些封装》系列暂且告一段落,接下来,我会通过各种案例,来分享javascript的各种技巧,所以最终将这个系列的名称定为:《从案例中学习

  • mbus总线电路_CPU电路

    mbus总线电路_CPU电路发送也就是24V,36V切换,24V低电平,36V是高电平;主机接收电路可以高端放大也可以低端放大,设备端只会消耗固定的电流,mbus网络趋于稳定,负载时稳定的,当设备端发送数据时,mbus网络中电流会有所变化,通过采样电阻,电压跟随器,差分放大,采样保持电路,获取ttl电平,短路过载保护也是通过低端采样电阻控制供电开关的。…

    2022年10月15日
  • python中字符串类型转换为数字类型_python字符串转int

    python中字符串类型转换为数字类型_python字符串转intstr与inti=10s=str(i)#s=’10’s=’1’i=int(s)#i=1str与floatst=’.4’t=float(st)#t=0.4st=’0.4’t=float(st)#t=0.4t=0.4st=str(t)#st=’0.4’注意把字符串转换为数字类型时,…

  • ireport表达式判断是否为0_init函数

    ireport表达式判断是否为0_init函数求助大佬iReportException怎么写??表达式分别如下:Excel表中有转基因和过敏原两列如下图:要求:最后的效果图表达式分别如下:这个是用0、1表示,1则是,0则无,然后以打钩的形式放在方框中$F{转基因}.toString().compareTo(newString(“1”))0?“√”:””$F{过敏原}“1”?“√”:””Excel表中有转基因和过敏原…

发表回复

您的电子邮箱地址不会被公开。

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