
冒泡排序是一种简单的交换类排序方法。
它是通过相邻的数据元素的交换,逐步将待排序的序列变成有序序列的过程。
其算法思想是,反复扫描待排序记录序列。
在扫描的过程中,顺次比较相邻的两个元素的大小,若逆序就交换位置。
在不断的进行比较的过程中,最终使所有记录变得有序。
写一个冒泡排序法的函数名,包含参数。
int BubbleSort(int * ListData,int ListLength);
写两个循环,在循环中应用冒泡插入排序:
int BubbleSort(int * ListData,int ListLength)
{
int i , j ;
int length = ListLength;
for(i=0;i<=length-1;i++)
{
for(j=0;j<=length-i-1;j++)
{
if(ListData[j]>ListData[j+1])
{
int tmp = ListData[j];
ListData[j] = ListData[j+1];
ListData[j+1] = tmp;
}
}
}
return 0;
}
对编好的程序进行测试,得出测试结果:
#include
int main()
{
int TestData = {34,15,6,89,67};
int i = 0;
printf("排序之前的结果\n");
for(i = 0;i<5;i++)
printf("|%d|",TestData[i]);
int retData = BubbleSort(TestData,5);
printf("排序之后的结果:\n");
for(i = 0;i<5;i++)
printf("|%d|",TestData[i]);
return 0;
}
冒泡排序是一种简单的交换类排序,这种排序,简单易用,总的时间复杂度,是n*n。
冒泡排序是一种稳定的排序方式。
