冒泡排序
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;
}