C语言选择排序算法
本文最后更新于 196 天前,其中的信息可能已经有所发展或是发生改变。

{message type=”info”}用选择排序法对一组数据由小到大进行排序,数据分别为 526、36、2、369、56、45、78、92、125、52。{/message}

实现过程:

(1) 程序中用到T两个 for 循环语句。第一个 for 循环是确定位置的,该位置是存放每次从待排序数列中经选择和交换后所选出的最小数。第二个 for 循环是实现将确定位置上的数与后面待排序区间中的数进行比较的。

(2) 程序代码如下:

#include <stdio.h>
int main()
{
    int i,j,t,a[10],min;    //定义变量及数组为基本整型
    printf("请输入10个数:\n");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);    //从键盘中输入要排序的10个数字
  for(i=0;i<10;i++){  //每次先取一个值
     min=i;
   for(j=i+1;j<10;j++){//将这个值和剩下的数字一个一个比较
     if(a[min]>a[j]){
       min=j; 
     }
   }
  t=a[i]; //交换
  a[i]=a[min];
  a[min]=t;
}
    printf("排序后的顺序是:\n");
    for(i=1;i<=10;i++)
        printf("%5d", a[i]);    //输出排序后的数组
    printf("\n");
    return 0;
}

运行结果:

请输入10个数:
526 36 2 369 56 45 78 92 125 52
排序后的顺序是:
    2   36   45   52   56   78   92  125  369  526

技术要点:

选择排序的基本算法是从待排序的区间中经过选择和交换后选出最小的数值存放到 a[0] 中,再从剩余的未排序区间中经过选择和交换后选出最小的数值存放到 a[1] 中,a[1] 中的数字仅大于 a[0],依此类推,即可实现排序。

文章标题:C语言选择排序算法
文章作者:yu
文章版权:属于 小懒后花园 所有,转载请注明出处
本文链接:https://www.xlhhy.cn/archives/550
友情提示: 如果文章部分链接出现404,请留言或者联系博主修复。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇