1樓:淺漠軒
氣泡排序法,是c語言常用的排序演算法之一,意思是對一組數字進行從大到小或者從小到大排序的一種演算法。
具體方法是:
相鄰數值兩兩交換。從第乙個數值開始,如果相鄰兩個數的排列順序與我們的期望不同,則將兩個數的位置進行交換(對調);如果其與我們的期望一致,則不用交換。重複這樣的過程,一直到最後沒有數值需要交換,則排序完成。
c語言常見的排序演算法:
1、氣泡排序。
基本思想:比較相鄰的兩個數,如果前者比後者大,則進行交換。每一輪排序結束,選出乙個未排序中最大的數放到陣列後面。
2、快速排序。
基本思想:選取乙個基準元素,通常為陣列最後乙個元素(或者第乙個元素)。從前向後遍歷陣列,當遇到小於基準元素的元素時,把它和左邊第乙個大於基準元素的元素進行交換。
在利用分治策略從已經分好的兩組中分別進行以上步驟,直到排序完成。
3、直接插入排序。
基本思想:和交換排序不同的是它不用進行交換操作,而是用乙個臨時變數儲存當前值。當前面的元素比後面大時,先把後面的元素存入臨時變數,前面元素的值放到後面元素位置,再到最後把其值插入到合適的陣列位置。
4、直接選擇排序。
基本思想:依次選出陣列最小的數放到陣列的前面。首先從陣列的第二個元素開始往後遍歷,找出最小的數放到第乙個位置。
再從剩下陣列中找出最小的數放到第二個位置。以此類推,直到陣列有序。
以上內容參考 百科-排序演算法。
、百科-c語言氣泡排序。
c語言氣泡排序法,C語言氣泡排序。
1 基本思想 在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即 每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。2 例項 3 解釋 include int main for j 1 j 9 j for...
C語言氣泡排序問題,c語言氣泡排序問題!?
文文的鵬鵬 lz的排序方法是錯誤的。比如,輸入8 6 12 0,按照lz的演算法,最終的排序結果是6 8 12 0。lz的演算法只能保證每相鄰的兩個數小在前大在後,但整體結果並不是這樣,所以排序還是要雙重迴圈的。 排序方法挺多的,各有各的優缺點的,有些人只是習慣了用某一個而已。 哈哈,可以用選擇排序...
c 排序演算法,氣泡排序法C 演算法
1.排序演算法在實際中的應用當然也就是排序了。在實際應用當中比如資料統計等方面都會用到。而且對一組資料進行排序也方便了後面對資料查詢的操作。要知道在一個有序陣列中查詢和在一個隨機無序陣列中的查詢的時間複雜度和系統消耗是有天壤之別的。2.演算法複雜度其實是一個估計,也就是那個o n 首先o這個操作的定...