对于长度为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;
}
本文介绍了一种简单的排序算法——冒泡排序,并提供了详细的C语言实现代码。通过n-1轮循环,每轮将未排序部分的最大元素移动到正确位置,最终实现数组的升序排列。
946

被折叠的 条评论
为什么被折叠?



