原來對冒泡和簡單選擇排序有點模糊,昨天翻開大學裡面的資料結構仔細看了一下,把兩種排序的演算法用php寫了一下。
1、冒泡法原理:
首先將第乙個記錄的關鍵字和第二個記錄的關鍵字進行比較,若為逆序,則將兩個記錄交換,然後比較批二個記錄和第三個記錄的關鍵字,依次類推,直至第n-1個元素和第n個元素進行過比較為止。以上為一次氣泡排序,礤結果是使得關鍵字最大的記錄被安置到最後乙個記錄的位置上。然後進行第二真趟氣泡排序,對前n-1個記錄進行同樣操作,其結果是使關鍵字次大的記錄安置到第n-1人的位置上,如此類似
2、簡單選擇排序原理
每一趟在n-i+1(i = 1,2,…,n-1)個記錄中選擇關鍵字最小的記錄作為有序序列中第i個記錄,其中最簡單的是簡單選擇排序,其過程如下:通過n-i次關鍵字間的比較,從n-i+1個記錄中選擇出關鍵字最小的記錄,並各第i個記錄交換之。
簡單選擇排序和氣泡排序
關於排序,氣泡排序和簡單選擇排序應該是最簡單的排序了 排序過程 從小到大排序比較第乙個與第二個數,若a 0 a 1 則交換 然後比較第二個數和第三個數 以此類推,直到第n 1個數和第n 個數比較為止 第一趟氣泡排序結束 陣列中最大的數被排在了最後 對前n 1個個數進行氣泡排序,結果是次大的數排在第n...
氣泡排序and簡單選擇排序
在第一趟排序中,從第乙個元素開始,掃瞄整個待排序元素序列,若相鄰的兩個元素逆序,則交換位置。直到最後乙個元素,此時,最後乙個元素必為最大的元素。第二趟排序,依然從第乙個元素開始掃瞄直到倒數第二個元素。第三趟排序,從第乙個掃瞄到倒數第三個。直到只剩乙個元素需要掃瞄。程式如下 includeint ma...
氣泡排序和簡單選擇排序實現
氣泡排序演算法的運作如下 從後往前 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較...