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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Putty(菩提)远程连接服务器教程听语音

    Putty(菩提)远程连接服务器教程听语音

    2021年10月8日
    53
  • Google 离线地图_谷歌地图离线包下载手机版

    Google 离线地图_谷歌地图离线包下载手机版google离线地图展示和渲染由于项目的需要,在线地图无法满足业务需要,于是要做离线地图。经过一段时间的调研,最后选择了谷歌离线地图原因是通过现成的工具便可完成。感谢前人栽的树,在此整理总结。以下内容和代码是调研时准备的,仅供参考使用。离线地图制作技术:googlemapapi准备:googlemapapiv3离线版,地图切图工具,Google_Maps_API

    2022年9月19日
    0
  • painless 简介

    painless是一种为安全和性能而设计的脚本语言。语法与Java语法类似,可用于所有可以使用script的场景下。painless提供:快速性能:脚本的运行速度比其他脚本快几倍。安全性:具有方法调用/字段粒度的细粒度白名单。可选类型:变量和参数可以使用显式类型或动态定义类型。语法:扩展Java的语法以提供Groovy风格的脚本语言特性,使脚本更易于编写。优化:专门为ElasticS…

    2022年4月6日
    70
  • Laravel 5.6 安装 guzzlehttp

    Laravel 5.6 安装 guzzlehttp

    2021年10月24日
    73
  • 新年还没到,但是要做准备,新年祝福弹窗了解一下。

    新年还没到,但是要做准备,新年祝福弹窗了解一下。

    2021年9月17日
    57
  • gimp教程:gimp界面介绍「建议收藏」

    gimp教程:gimp界面介绍「建议收藏」GIMP(跨平台图像处理程序)是一个开发源代码的光栅与图像编辑的先进功能,关于GIMP的界面,初学者都了解吗?下面是小编整理的关于gimp教程中gimp界面介绍,快来分享吧!gimp界面介绍:gimp图像窗口Gimp图像窗口是打开图形图像文件时图像显示的窗口,关闭窗口右上角的关闭按钮的话程序也将随之关闭。如下图所示,其窗口中包含下面几个元素:A、居于最上面的标题栏,最左面是Gimp图标(icons),中间是图像名,如果是刚开始打开无图像的话显示”GNUImageManipulatio..

    2022年6月15日
    32

发表回复

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

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