冒泡排序 Linux下C 实现

最近有个想法:工作之余,在linux下,用c/c++把常用的算法重写一遍。当然,对算法的认识,我仅限于皮毛,我不可能超越那些前辈先知,但我仍想,用自己的方式演示一遍,只当自娱自乐吧!秉承一贯的原则,不讲大道理,只演示关键代码demo,开始算法之旅的第一个算法-----冒泡排序。

1、编辑文件BubbleSort.c,内如如下:

#include <stdio.h>    void bubbleSort(int * pArr, int cnt)   {           int i,j,tmp;           for(i=0;i<cnt;i++)           {                   for(j=i+1;j<cnt;j++)                   {                           if(*(pArr+i)>*(pArr+j))                           {                                   tmp=*(pArr+i);                                   *(pArr+i)=*(pArr+j);                                   *(pArr+j)=tmp;                           }                   }           }   }         int main(void)   {           int cnt;           printf("input array length:\n");           scanf("%d",&cnt);           if(cnt<1)           {                   printf("array length must be larger 0 \n");                   return 1;           }           else           {                   printf("array length is %d \n",cnt);           }           int a[cnt];           int i;           for(i=0;i<cnt;i++)           {                   printf("input arr[%d] value\n",i);                   scanf("%d", &a[i]);           }           bubbleSort(a,cnt);           printf("bubblesort result:\n");           for(i=0;i<cnt;i++)           {                   printf("%d ",a[i]);           }           printf("\n");           return 0;   }  

2、编译程序

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

3、执行

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywfdd.html