氣泡排序 陣列 鍊錶

2022-07-25 06:48:08 字數 914 閱讀 9716

對一組資料排序,例如 【5 、2、3、1、4】

int flag=0,temp;

int s[10]=; //定義陣列並賦值

for(int i=0;i<10;i++)

}if(flag==0)

break;

}

上述**,外層迴圈控制迴圈的次數,最壞的情況下迴圈10次排序完成;內層迴圈控制比較個數;flag用來判斷是否發生交換,如果沒發生交換,則說明已經排序完成,則不需要接著迴圈到10次;

下面**針對的是不帶頭節點(即第乙個結點的資料域不為空)的鍊錶

void swap()

t = t->next;

p = t->next;

q = p->next;

}if(flag)

break;

}free(head_front); //排序完成後釋放掉記憶體

}

上面的**只能實現鍊錶第乙個元素比第二個元素小的排序,研究了好長時間,我也不知道為什麼,等我弄明白之後在回來修改;

#include#includetypedef struct student

student;

student *head;

int sum;

void create()

else

}}void swap()

t = t->next;

p = t->next;

q = p->next;

}if(flag)

break;

}free(head_front);

}void output()

printf("\n");

}int main()

php氣泡排序 陣列氣泡排序

又遇到排序問題,最簡單的氣泡排序,上學時候學過,結果很少用,最近又遇到了,記錄下 氣泡排序 需要時再反轉 dump array reverse new list 二維陣列的話根據陣列下元素對比就行 if new list i id new list i 1 id sort 函式用於對陣列單元從低到高...

鍊錶氣泡排序

2011 07 22 21 33 111人閱讀收藏 舉報 任意兩個相鄰節點p q位置互換圖示 假設p1 next指向p,那麼顯然p1 next next就指向q,p1 next next next就指向q的後繼節點,我們用p2儲存 p1 next next指標。即 p2 p1 next next,則...

鍊錶氣泡排序

任意兩個相鄰節點p q位置互換圖示 假設p1 next指向p,那麼顯然p1 next next就指向q,p1 next next next就指向q的後繼節點,我們用p2儲存 p1 next next指標。即 p2 p1 next next,則有 p q 排序前 p1 next p1 next nex...