如何使用c语言实现冒泡排序

如何使用c语言实现冒泡排序

冒泡排序是一种简单的交换类排序方法。

它是通过相邻的数据元素的交换,逐步将待排序的序列变成有序序列的过程。

其算法思想是,反复扫描待排序记录序列。

在扫描的过程中,顺次比较相邻的两个元素的大小,若逆序就交换位置。

在不断的进行比较的过程中,最终使所有记录变得有序。

写一个冒泡排序法的函数名,包含参数。

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。

冒泡排序是一种稳定的排序方式。