码迷,mamicode.com
首页 > 编程语言 > 详细

【选择排序】简单选择排序

时间:2015-01-05 16:33:11      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

思想:每经过一趟比较就找出一个最小值,与待排序列最前面的位置互换即可。

算法分析:时间复杂度O(n2);稳定性:不稳定

 1 #include <stdio.h>
 2 
 3 void SelectSort(int a[], int len)
 4 {
 5     int i, j, k, tmp;
 6     for (i = 0; i < len - 1; i++)
 7     {
 8         k = i;
 9         for (j = i + 1; j < len; j++)
10         {
11             if (a[j] < a[k])
12             {
13                 k = j;
14             }
15         }
16         if (i != k)
17         {
18             tmp = a[i];
19             a[i] = a[k];
20             a[k] = tmp;
21         }
22     }
23 }
24 
25 int main(void)
26 {
27     int a[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
28     SelectSort(a, 11);
29 
30     for (int i = 0; i < sizeof(a) / sizeof(int); i++)
31     {
32         printf("%d ", a[i]);
33     }
34     printf("\n");
35 
36     return 0;
37 }

【选择排序】简单选择排序

标签:

原文地址:http://www.cnblogs.com/mengwang024/p/4203703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!