冒泡排序的思想:每次将相邻的两个数比较,将小的放到前面(或大的放到前面)。若有6个数,9,8,5,4,2,0。第一次,9,8比较,将9,8对调;第二次,将第二个数与第三个数比较即9,5比较,将9,5对调;第三次,将9,4比较······(如下图所示)
所以循环只需要控制循环几次,和每一次循环交换的次数就行了。
循环的次数是n-1次,然后每次循环的次数就是n-i次,然后排列就行。
冒泡的思路就是:起泡或者说是沉底的思想。沉底就是每一次循环都将最大或者最小的数放到最下面,不断循环,直到结束。
代码:
for(i
for(j
{
if(a[j]>a[j+1])
swap(a[j],a[j+1]);
}
选择排序
选择排序的思想:所谓选择法就是将n个数中的最小数与a[0]对换;再将a[1]~a[n]中的,最小数与a[1]对换,依次往下循环,……每比较一轮,找出未经排序的最小的一个数。共比较N-1轮。
a[0]
void
{
}