排序:冒泡排序

来源:互联网 发布:麒麟芯片 知乎 编辑:程序博客网 时间:2024/05/29 19:46

冒泡排序

1、基本思路
在数组中从后向前,依次比较相邻的两个元素,如果逆序则交换位置,每一次都可以将未排好的较小元素排至数组的最终位置,重复排n次(可优化)即可完成排序。

伪代码:
bubblesort(A)    for i=1 to length[A]         for j=length[A] downto i+1              if A[j]<A[j-1]                 exchange A[j],A[j-1]  

2、C++代码
void bubblesort(int *A, int length) {for (int i = 0; i < length; ++i){for (int j = length - 1; j > i; --j) {if (A[j] < A[j - 1]){int temp = A[j - 1];A[j - 1] = A[j];A[j] = temp;}}}}int main() {int A[5] = { 5,3,4,2,1 };int length = 5;bubblesort(A, length);return 0;}