对于长度为n的数组,循环n-1次,将大的数字”沉“到下面。可以得到递增的序列
#include<stdio.h>
#include<stdlib.h>
void BubbleSort(int *array,int length)
{
int i,k;
int temp;
for(i=1;i<length;i++) //length-1次循环
{
for(k=1;k<=length-i;k++) //需要比较的次数
if(*(array+k) > *(array+k+1))
{
temp = *(array+k);
*(array+k) = *(array+k+1);
*(array+k+1) = temp;
}
}
}
int main()
{
int i,length;
int *array;
scanf("%d",&length);
array = (int*)malloc(sizeof(int)*(length+1));
if(!array)exit(1);
for(i=1;i<=length;i++)
scanf("%d",array+i);
BubbleSort(array,length);
for(i=1;i<=length;i++)
printf("%d ",*(array+i));
printf("\n");
free(array);
return 0;
}