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

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

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


相关推荐

  • ios长按不能粘贴_ios14长按不能复制

    ios长按不能粘贴_ios14长按不能复制/*设置IOS页面长按不可复制粘贴,但是IOS上出现input、textarea不能输入,因此将使用-webkit-user-select:auto;*/*{-webkit-touch-callout:none;/*系统默认菜单被禁用*/-webkit-user-select:none;/*webkit浏览器*/-khtml-user-select:none;…

    2022年9月29日
    2
  • idea设置java版本_手机安卓版本怎么升级

    idea设置java版本_手机安卓版本怎么升级一、背景即使我电脑安装的JDK版本是8,然而在idea运行中常常提示xxjdk1.5已过时之类的,why?明明是我装的JDK8啊二、解决鼠标点击file->setting,进入idea的设置页面settings,根据截图操作,懒得写了,最后点击ok然后,鼠标点击file->ProjectStructure…

    2022年9月23日
    2
  • JedisConnectionException: java.net.ConnectException: Connection refused[通俗易懂]

    出现问题我遇到的一个问题,在连接redis的时候出现了错误!错误如下:JedisConnectionException: java.net.ConnectException: Connection refused看错误是 连接被拒绝,网上查了报这个错误的相关解决方案,没有一个可以解决的!问题就是上面的报错的问题,先说明一下我出现这个问题的背景或者环境吧。环境说明re…

    2022年2月27日
    50
  • DDPG存疑

    DDPG存疑存疑的点:value函数的参数是(s,a)。离散状态下s,a作为横纵坐标来获取Q值。q-learningDQN情况下,输出的是最大Q值。PG里面输出的是action的概率分布。DDPG里,actor网络输出的是Action。critic网络里输出的是Q值,依然和s,a有关,由s,a确定。只不过这里确定的方式是①将s,a分别经过一个输出维度为30的网络后 得到的值 相加(两个网络分别为:(s_dim,30)(a_dim,30)。②将s,a维度拼接再经过网络计算(这个网络的维度是(s_d

    2022年6月16日
    25
  • 无插件纯Web 3D机房,HTML5+WebGL倾力打造

    无插件纯Web 3D机房,HTML5+WebGL倾力打造前言-最近项目开发任务告一段落,刚好有时间整理这大半年的一些成果。使用html5时间还不久,对js的认识还不够深入。没办法,以前一直搞java,对js的一些语言特性和概念一时还转换不过来。上一篇大数

    2022年8月3日
    9
  • 一个汉字占多少个字节?_字符和字节的关系

    一个汉字占多少个字节?_字符和字节的关系一个汉字占多少个字节不同编码方式1个英文字母占的字节是不同的:1,ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。2,UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节3,Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节…

    2025年5月27日
    3

发表回复

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

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