<C> 冒泡排序及其非常非常非常简单的优化

话不多说 直接上代码

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

PS:哭唧唧 这个优化实在是太low了 希望以后可以学到更加优化的优化 美滋滋~

posted @ 2018-04-01 16:33  Aaaaaalei  阅读(110)  评论(0编辑  收藏  举报