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

7.4选择排序

时间:2016-08-17 16:46:22      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

 

7.4.1直接选择排序

 

 1 #include <stdio.h>
 2 #define N 10
 3 
 4 void print(int *arr, int n);//打印数组
 5 void SelectSort(int *arr, int n);//直接选择排序
 6 
 7 void main()
 8 {
 9     int arr[N] = { 9,8,7,6,5,4,3,2,1,0 };
10     
11     print(arr, N);//打印数组
12 
13     SelectSort(arr, N);//直接选择排序
14 
15     print(arr, N);
16 }
17 
18 void print(int *arr, int n)//打印数组
19 {
20     int i = 0;
21 
22     for (i = 0; i < 10; i++)
23     {
24         printf("%d ", arr[i]);
25     }
26     printf("\n");
27 }
28 
29 void SelectSort(int *arr, int n)//直接选择排序
30 {
31     int i, j;
32     int min;
33     int temp;
34 
35     for (i = 0; i < n - 1; i++)//做n-1趟排序
36     {
37         min = i;//设min为第i趟排序中关键字最小的记录位置
38 
39         for (j = i + 1; j < n; j++)//在[i...n]选择关键字最小的记录
40         {
41             if (arr[j] < arr[min])
42             {
43                 min = j;//若有比arr[min]小的记录,记住该位置
44             }
45         }
46 
47         if (min != i)//与第i个记录交换
48         {
49             temp = arr[i];
50             arr[i] = arr[min];
51             arr[min] = temp;
52         }
53     }
54 }

 

7.4选择排序

标签:

原文地址:http://www.cnblogs.com/denggelin/p/5780586.html

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