交換排序法是指借助于數(shù)據(jù)元素之間的相互交換進(jìn)行排序的一種方法甜刻。冒泡排序與快速排序法都屬于交換排序法绍撞。
冒泡排序法的基本過程是,首先罢吃,從表頭開始往后掃描線性表楚午。在掃描過程中,逐次比較相鄰兩個(gè)元素的大小尿招,若相鄰兩個(gè)元素中矾柜,前面的元素大于后面的元素,則將他們交換稱之為削去了一個(gè)逆序就谜。掃描過程中不斷地將相鄰兩個(gè)元素中的大者往后移動(dòng)怪蔑,最后就將線性表中最大者換到了表的最后,這也是線性表中最大元素應(yīng)有的位置丧荐。
void bubblesort(int data[],int n)
{
? ? ? int i,j;
? ? ? for(i=0;i < n;i++)
? ? ? {
? ? ? ? ? ? for(j=0; j < n – i; j++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? if(data[j] > data[j+1])
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? int? tmp = data[j];
? ? ? ? ? ? ? ? ? ? ? ? ? data[j] =data[j+1];
? ? ? ? ? ? ? ? ? ? ? ? ? data[j+1] =tmp;
? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? }
}