冒泡排序(Bubble Sort)一种交换排序,它的基本思想是:两两比较相邻的关键字,如果反序就交换,直到没有反序的记录为止。
最简单的排序:
void SubbleSort0(int array[],int len) {
int i, j,temp;
for (i = 0; i < len-1; i++)
{
for (j = i+1; j <len-1; j++)
{
if (array[i]>array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
思路:让每一个关键字都和他后面的每一个关键字比较,如果大就交换,第一个位置的关键字在循环一圈之后一定编程最小值。
例如{ 9,1,5,8,3,7,4,6,2 }:
当i=0时
第一次让9和1比较,9>1 交换
第二次让1和5比较,1<5 不交换
第三次。。。。。
第一轮循环结束后,数组变成{ 1,9,5,8,3,7,4,6,2 }
当i=1时
第一次让9和5比较,9>5 交换
第二次让5和8比较,5<8 不交换
第三次。。。。。
第二轮循环结束后,数组变成{ 1,2,9,8,5,7,4,6,3 }
最简单的排序,效率最低。
冒泡排序算法: