几种常用算法之_____________一、冒泡排序算法原理及实现
算法描述
设待排序记录序列中的记录个数为n
一般地,第i趟起泡排序从1到n-i+1
依次比较相邻两个记录的关键字,如果发生逆序,则交换之
其结果是这n-i+1个记录中,关键字最大的记录被交换到第n-i+1的位置上,最多作n-1趟。
示例性代码如下:
#include<stdio.h> int main(){ int a[10],i,j,t; printf("please input 10 integer numbers:\n"); //输入十个整数到数组a中 for(i=0;i<=9;i++) scanf("%d",&a[i]); for(i=9;i>=1;i--) for(j=0;j<=i-1;j++) // 每冒泡一遍,i前移一位,只到a[1] ,到a[1]时,不再前移,执行a[0]和a[1]冒泡。最后结束。 //冒泡交换次序 if(a[j]>=a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } //输出结果 for(i=0;i<=9;i++) printf("%d ",a[i]); //程序暂停,观察结果 system("pause"); return 0; }
浙公网安备 33010602011771号