冒泡法
冒泡法的思路是:每次将相邻的两个数作比较,把较小的调到前头。
若有5个数a[0]~a[4]依次为 9-3-6-1-2.
第一趟:
a[0]和a[1]比较,9>3,互换位置,序列变成3-9-6-1-2;
a[1]和a[2]比较,9>6,互换位置,序列变成3-6-9-1-2;
a[2]和a[3]比较,9>1,互换位置,序列变成3-6-1-9-2;
a[3]和a[4]比较,9>2,互换位置,序列变成3-6-1-2-9;
可以看出第一趟一共比较了4次,结束后最大元素9已经就位(在数组最后),即a[4]=9。我们来看一下9的位置变化:
现在开始第二趟,目标是把第二大的元素归位:
a[0]和a[1]比较,3<6,不换位置,序列仍为3-6-1-2-9;
a[1]和a[2]比较,6>1,互换位置,序列变成3-1-6-2-9;
a[2]