现在的位置: 首页 > 综合 > 正文

排序之交换排序

2013年01月14日 ⁄ 综合 ⁄ 共 700字 ⁄ 字号 评论关闭

 

 1 //交换排序
 2 /*******************算法描述**********************
 3 1、从第一个元素开始,依次与后续每个元素两两比较,若比后续元素大,则交换
 4 2、循环:从第二个元素开始,重复上述动作1
 5 *************************************************/
 6 void sortByExchange(int array[],int length)
 7 {
 8     int iTemp;
 9     for(int i=0;i<length;i++)
10     {
11         for(int j=i+1;j<length;j++)
12         {
13             //printf("i=%d,array[i]:%d array[j]:%d\n",i,array[i],array[j]);
14             if(array[i] > array[j])
15             {
16                 iTemp = array[i];
17                 array[i] = array[j];
18                 array[j] = iTemp;
19             }
20         }
21     }
22 }
23 
24 void print(int a[],int length)
25 {
26     for(int i=0;i<length;i++)
27     {
28         printf("%d ",a[i]);
29     }
30     printf("\n");
31 }
32 
33 int main()
34 {
35     int a[10] = {7,2,8,3,9,10,15,11,20,17};
36     printf("交换排序:\n");
37     sortByExchange(a,sizeof(a)/sizeof(int));
38     print(a,sizeof(a)/sizeof(int));
39     return 0;
40 }

 

抱歉!评论已关闭.