学习交流

当前位置 /首页/母婴教育/学习交流/列表

C语言冒泡排序源程序

C语言是一门计算机高级语言,被许多IT行业的工作者们熟练地运用着。在C语言中,排序的算法有好几种,下来我会举一个例子:C语言的冒泡排序,以及冒泡排序的一些讲解。

C语言冒泡排序源程序

操作方法

(01)代码源程序为:#include<stdio.h>#include<math.h>#define ok 1int main(){int sort(int azz[],int n );int arr[7];int i,j;printf("请输入几个整数:n");//七个以内的数for(j=0;j<;j++)scanf("%d",&arr[j]);sort(arr,7);printf("请输出arr[]中的数:");for(i=0;i<7;i++)printf("%3d",arr[i]);printf("n");return 0;}int  sort(int  azz[],int n){int t,i,j;for(i=0;i<n;i++)for( j=0;j<n-1;j++){if(azz[j]>azz[j+1]){t=azz[j];azz[j]=azz[j+1];azz[j+1]=t;}}return ok;}

C语言冒泡排序源程序 第2张

(02)此程序含有一维数组一般形式:类型符 数组名[常量表达式];说明:数组名是一个地址常量,不能对数组进行赋值和运算;在定义数组时,数组的元素个数必须是常量。int n=3;     int a[n];  就是错误的形式;数组元素的下标必须从0开始。

C语言冒泡排序源程序 第3张

(03)程序还运用到了“函数调用”一般形式:函数名(实参表列)注意:在主函数中对调用函数进行说明,则只能在主函数中调用;在主函数前对调用函数进行说明,则能在主函数和其后的其他函数中调用;

C语言冒泡排序源程序 第4张

(04)可以看到,执行了调用函数后,你所输入的无序数字,在输出后变成了有序的数字。这是由于形参数组azz已用冒泡排序对输入的数字进行了排序,形参数组改变,使得实参数组也随之改变了。

C语言冒泡排序源程序 第5张

(05)冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

C语言冒泡排序源程序 第6张

(06)输入数字时,一定要注意输入时,应该输入一个数字就要回车,才能保证输入的数字个数不超过数组所要求的长度。

C语言冒泡排序源程序 第7张