C语言-bubblesort

来源:互联网 发布:centos7 yum安装nginx 编辑:程序博客网 时间:2024/05/08 01:36

用C语言实现冒泡排序:

算法思想(升序):

n个元素比较n-1次。

每次比较相邻元素两两比较,大的调到后面去,小的调到前面去,后退一个继续比较。

直到n-1次比较全部完成。

/***************************************author: Yang Xu*goals: bubblesort*modified date: 15-08-15**************************************/#include<stdio.h>#include<process.h>/*冒泡排序,返回升序的排序结果,输入数组和数组个数*/void bubblesort(int a[], int n){int i;int j;//控制单个冒泡的变量int maxer;/*循环控制“冒泡”的次数,比数组个数少一个*/for(i=n-2;i>=0;i--){for(j=0;j<=i;j++){maxer=a[j];if(maxer>=a[j+1]){/*如果前面的数比后面的数大,交换顺序*/a[j]=a[j+1];a[j+1]=maxer;}}}}int main(){int a[10]={9,3,4,1,8,12,43,1,0,10};bubblesort(a,10);system("pause");    return 0;}
如果要完成降序的工作,那么转换思想,即将小的数排到后面去,即更改if语句中的大小符号即可。

0 0
原创粉丝点击