加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

冒泡排序 Linux下C 达成

发布时间:2021-11-24 12:32:24 所属栏目:教程 来源:互联网
导读:最近有个想法:工作之余,在linux下,用c/c++把常用的算法重写一遍。当然,对算法的认识,我仅限于皮毛,我不可能超越那些前辈先知,但我仍想,用自己的方式演示一遍,只当自娱自乐吧!秉承一贯的原则,不讲大道理,只演示关键代码demo,开始算法之旅的第一

最近有个想法:工作之余,在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] valuen",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、执行
 
[root@localhost gcc]# ./BubbleSort   
input array length:  
3  
array length is 3   
input arr[0] value  
2  
input arr[1] value  
1  
input arr[2] value  
4  
bubblesort result:  
1 2 4   
 

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!