首页 > 编程语言 > 详细

简单选择排序

时间:2020-07-26 00:25:01      阅读:118      评论:0      收藏:0      [点我收藏+]

 简单选择排序

 1、实现思想

技术分享图片

 

 

 

 2、代码实现

注意要点

1、交换始终在一个数组进行,为此我们需要知道无序区最值的索引,以便交换

2、主要理解一下i、j就行

 1 /* 
 2 created by coderon
 3 time 2020年7月25日23:20:30
 4 简单选择排序
 5  */
 6 
 7 #include <stdio.h>
 8 void simple_sort(int *p, int length)
 9 {
10     int i;     //有序区的长度
11     int j;     //无序区的长度
12     int index; //记录从无序区挑选出来的一个记录
13     int temp;  //中间值,用于交换
14     for (i = 0; i < length - 1; i++)
15     {
16         index = i;
17         for (j = i + 1; j < length; j++)
18         {
19             if (p[j] < p[index]) //修改为>则抽出最大值,为降序排序
20                 index = j;
21         }
22         temp = p[index];
23         p[index] = p[i];
24         p[i] = temp;
25     }
26 }
27 int main(void)
28 {
29     int a[8] = {1, 2, 3, 4, 5, 6, 7, 8};
30     simple_sort(a, 8);
31     for (int i = 0; i < 8; i++)
32     {
33         printf("%d  ", a[i]);
34     }
35 }
36 /* 
37 输出
38 ————————————————————————————————————————
39 1  2  3  4  5  6  7  8  
40 ————————————————————————————————————————
41  */

 

简单选择排序

原文:https://www.cnblogs.com/coderon/p/13378782.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!