冒泡排序算法是经典的排序算法,数据两两比较(升序排列),若后面的数字比前面小,就交换位置,这样比较第一趟(比较了N-1次,N为数据个数)后,最大的数字就到了最后.总共比较N-1趟
例如原数据位 8,4,9,1,3,第一趟比较完毕为:
4,8,1,3,9
第二趟最后一个数据就不用比较了,比较前N-1个数据,比较N-2次,比较完毕为
4,1,3,8,9
第三趟比较前N-2个数据,比较N-3次
1,3,4,8,9
第四趟比较前N-3个数据,比较N-4次
1,3,4,8,9
比较结束
例程:
#include <stdio.h>
void sort(int argv[],int n)
{
int i,j;
int tem;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(argv[j]>argv[j+1])
{
tem = argv[j];
argv[j] = argv[j+1];
argv[j+1] = tem;
}
}
}
}
int main()
{
int i;
int data[5] = {8,4,9,1,3};
sort(data,5);
for(i=0;i<5;i++)
{
printf("%d ",data[i]);
}
printf("\n");
}