1 #include "stdafx.h"
2 #include <iostream>
3 #include <exception>
4 using namespace std;
5
6 /*排序用到的结构*/
7 const int maxSize = 10;
8 typedef struct
9 {
10 int r[maxSize+1];
11 int length;
12 }SqList;
13
14 /*数组元素交换*/
15 void swap(SqList *L,int i ,int j)
16 {
17 int temp = L->r[i];
18 L->r[i] = L->r[j];
19 L->r[j] = temp;
20 }
21
22 /*简单选择排序:就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录进行交换
23 第i趟排序需要进行n-i次关键字的比较,此时需要比较 n-1 + n-2 +...+ 1=n(n-1)/2次.
24 */
25 void SelectSort(SqList *L)
26 {
27 int i,j,min;
28 for(i = 1;i!=L->length;i++)
29 {
30 min = i;
31 for(j = i+1;j<=L->length;j++)
32 {
33 if(L->r[min]>L->r[j])
34 min = j;
35 }
36 if(i!=min)
37 {
38 swap(L,i,min);
39 }
40 }
41 }
42 int _tmain(int argc, _TCHAR* argv[])
43 {
44
45
46 return 0 ;
47 }