歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

冒泡排序 Linux下C 實現

最近有個想法:工作之余,在linux下,用c/c++把常用的算法重寫一遍。當然,對算法的認識,我僅限於皮毛,我不可能超越那些前輩先知,但我仍想,用自己的方式演示一遍,只當自娛自樂吧!秉承一貫的原則,不講大道理,只演示關鍵代碼demo,開始算法之旅的第一個算法-----冒泡排序。

1、編輯文件BubbleSort.c,內如如下:

  1. #include <stdio.h>   
  2. void bubbleSort(int * pArr, int cnt)  
  3. {  
  4.         int i,j,tmp;  
  5.         for(i=0;i<cnt;i++)  
  6.         {  
  7.                 for(j=i+1;j<cnt;j++)  
  8.                 {  
  9.                         if(*(pArr+i)>*(pArr+j))  
  10.                         {  
  11.                                 tmp=*(pArr+i);  
  12.                                 *(pArr+i)=*(pArr+j);  
  13.                                 *(pArr+j)=tmp;  
  14.                         }  
  15.                 }  
  16.         }  
  17. }  
  18.   
  19.   
  20. int main(void)  
  21. {  
  22.         int cnt;  
  23.         printf("input array length:\n");  
  24.         scanf("%d",&cnt);  
  25.         if(cnt<1)  
  26.         {  
  27.                 printf("array length must be larger 0 \n");  
  28.                 return 1;  
  29.         }  
  30.         else  
  31.         {  
  32.                 printf("array length is %d \n",cnt);  
  33.         }  
  34.         int a[cnt];  
  35.         int i;  
  36.         for(i=0;i<cnt;i++)  
  37.         {  
  38.                 printf("input arr[%d] value\n",i);  
  39.                 scanf("%d", &a[i]);  
  40.         }  
  41.         bubbleSort(a,cnt);  
  42.         printf("bubblesort result:\n");  
  43.         for(i=0;i<cnt;i++)  
  44.         {  
  45.                 printf("%d ",a[i]);  
  46.         }  
  47.         printf("\n");  
  48.         return 0;  
  49. }  

2、編譯程序

  1. [root@localhost gcc]# gcc -o BubbleSort BubbleSort.c   

3、執行

  1. [root@localhost gcc]# ./BubbleSort   
  2. input array length:  
  3. 3  
  4. array length is 3   
  5. input arr[0] value  
  6. 2  
  7. input arr[1] value  
  8. 1  
  9. input arr[2] value  
  10. 4  
  11. bubblesort result:  
  12. 1 2 4   

 

呵呵,用自己的手,親自再演示一遍,感覺還是不錯的!先這樣吧,以後不斷補充完善這篇文章。希望,自己能堅持下去。

Copyright © Linux教程網 All Rights Reserved