程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 冒泡排序的改良

冒泡排序的改良

編輯:關於C語言

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define LEN 10
 4
 5 int main()
 6 {
 7     //min記錄最小值的位置。
 8     int i,j,tmp,min,array[LEN];
 9
10     //輸入數據
11     printf("please input members:");
12     for(i=0; i<LEN; i++)
13     scanf("%d",&array[i]);
14
15     //輸出原數據
16     for(i=0; i<LEN; i++)
17     printf("%d ",array[i]);
18     printf("\n");
19
20     //單向冒泡排序。
21     /*for(i=0;i<LEN-1;i++)
22     for(j=i+1;j<LEN;j++)
23     {
24         if(array[i]>array[j])
25         {
26             tmp = array[j];
27             array[j]=array[i];
28             array[i]=tmp;
29         }
30     }*/
31
32     //經典100例,如果數據多的話,用這個是比較合算的。
33     for(i=0; i<LEN-1; i++)
34     {
35         min = i;
36         for(j=i+1; j<LEN; j++)
37         {
38             if(array[min]>array[j])
39             {
40                 min=j;
41             }
42         }
43
44         if(i==min)
45         continue;
46
47         tmp = array[min];
48         array[min]=array[i];
49         array[i]=tmp;
50
51     }
52
53     //輸出結果。
54     printf("\nresult is:\n");
55     for(i=0; i<LEN; i++)
56     printf("%d ",array[i]);
57     printf("\n");
58
59     // printf("Hello world!\n");
60     return 0;
61 }

 




摘自  zhengmian 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved