选择排序(C语言实现)

选择排序(C语言实现)选择排序(C语言实现)实现原理:给出一组数据,第1轮在待排序记录r[1]-r[n]中选出最小的记录,将它与r[1]交换;第2轮在待排序记录r[2]-r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。代码初始序列:{49276597761238}第1趟:12与49交换:12{276597764938}第2趟:27不动:1227{6597764938}

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

选择排序(C语言实现)

实现原理:

给出一组数据,第1轮在待排序记录r[1]-r[n]中选出最小的记录,将它与r[1]交换;第2轮在待排序记录r[2]-r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。

代码

初始序列:{49 27 65 97 76 12 38}

第1趟:12与49交换:12{27 65 97 76 49 38}

第2趟:27不动 :12 27{65 97 76 49 38}

第3趟:65与38交换:12 27 38{97 76 49 65}

第4趟:97与49交换:12 27 38 49{76 97 65}

第5趟:76与65交换:12 27 38 49 65{97 76}

第6趟:97与76交换:12 27 38 49 65 76 97 完成

括号内为无序区域,括号外为有序区;

for(i=0;i<10;i++)
{
   min=i;
   for(j=i+1;j<10;j++)
{
   if(a[min]>a[j])//如果有一个值比开始的值小
      min=j;//将最小的值j的序号给min
}
temp=a[min];//交换最最小值
a[min]=a[i];
a[i]=temp;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

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

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

(0)


相关推荐

  • svn——’svn’不是内部或外部命令,也不是可运行的程序或批处理文件

    在安装svn工具后,我们一般会用客服端进行操作,但是也不会避免使用svn命令对项目进行操作。那么就有可能回遇到这个问题。’svn’ 不是内部或外部命令,也不是可运行的程序或批处理文件。下面是这个问题的解决方案:1、首先先看自己本地环境变量是否配置了,如下图是我的svn配置的路径:(不知道配置环境变量请自行百度)2、如果本地环境变量配置了,还是报这个错误,那么就是安装时候有个

  • 下拉框插件select2的使用

    下拉框插件select2的使用

  • Windows无法连接到System Event Notification Service服务问题解决

    Windows无法连接到System Event Notification Service服务问题解决这也许是自从在笔记本上安装了Windows7以来Kaijia第一次遇到的不明故障。至今Kaijia仍然无法确认造成错误的具体操作,因为在一次开机后系统,系统任务栏的Aero界面突然消失并且提示“Windows无法连接到SystemEventNotificationService服务”,对SystemEventNotificationService服务手动配置并且重启后问题仍然存在

  • c#程序调试(如何使用debug调试)

    c#的Debug.WriteLine()和Trace.WriteLine()有没有例子?1.区别://输出跟踪信息Trace.WriteLine()将有关跟踪的信息写入Listeners集合中的跟踪侦听器在调试和release模式都输出!默认是写到输出窗口的,也可以指定写到指定文件,或系统日志中!//输出调试信息Debug.WriteLine()将有关调试的信息写入Listener

  • latex公式中括号_公式中的大括号怎么打

    latex公式中括号_公式中的大括号怎么打功能语法显示不好看\frac{1}{2}(12)(\frac{1}{2})好一点\left(\frac{1}{2}\right)(12)\left(\frac{1}{2}\right)您可以使用\left和\right来显示不同的括号:功能语法显示圆括号,小括号\left(\frac{a}{b}\right)(ab)\left

    2022年10月11日
  • JavaScript面向对象思想

    JavaScript面向对象思想javascript中的面向对象:ECMA标准定义JS中的对象:无序属性的集合,其属性可以包含基本值、对象或者函数。可以简单理解为JS的对象是一组无序的值,其中的属性或方法都有一个名字,根据这个名字可以访问相映射的值(值可以是基本值/对象/方法)面向对象三个基本特征是:封装、继承、多态封装:将对象运行所需的资源封装在程序对象中,基本上是方法和数据。对象是“公布其接口”。其他附加到这些接口上的对象不需要关心对象实现的方法即可使用这个对象。这个概念就是“不要告诉我你是怎么做的,只要做就可以了。”对象可

    2022年10月31日

发表回复

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

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