陣列排序演算法之起泡法

2021-08-27 03:36:50 字數 487 閱讀 2933

起泡法是從一端開始比較的,第一次迴圈就是把最大數放到最後乙個位置,第二次迴圈就是把第二最大數放到倒數第二位置。整個過程就像燒開水一樣,較小值像水中的氣泡一樣逐趟往上冒,每一趟都有一塊「最大」的石頭沉到水底。

有乙個包含n個元素的數值型陣列,陣列元素大小無序。

遍歷一次陣列,將陣列中最大的值排至最後一位的位置。

再迴圈一次陣列,此次只需遍歷n-1次,並將n-1個數中最大的數排至n-1位。

再迴圈一次陣列,此次只需遍歷n-2次,並將n-2個數中最大的數排至n-2位。

共迴圈n-1次

在每次迴圈中,將相鄰的兩個數兩兩比較,小的排在前面,大的排在後面,如此遍歷整個陣列,即可將最大的數排在最後。

c#示例:

//起泡法//

public static int bubbling(int arr)}}

return arr;

}

C語言氣泡排序(起泡法)

冒泡法排序是c語言中較簡單的 排序演算法 的 定義 它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,讓較大的元素逐漸往後移動 交換兩個元素的值 直到陣列的末尾。如此反覆,直到沒有可以交換的元素,即從小到大排序好 思路 有n個數,每輪替換乙個數,假設最大的數在第乙個,則一共需要替換n 1輪 此時...

排序演算法總結 交換排序之起泡排序

交換排序的主要思想是 在待排序序列中選擇兩個記錄,將他們的關鍵碼進行比較,如果反序則交換他們的位置。起泡排序的思想是 兩兩比較相鄰記錄的關鍵碼,如果反序則交換,直到沒有反序的記錄為止。起泡排序的問題是 1.在一趟起泡排序中,若有多個記錄位於最終的位置,應如何記載?2.如何確定起泡排序的範圍,使得已經...

改進的起泡排序演算法

一 基本思路 氣泡排序是一種簡單的交換類排序。其基本思路是從頭開始掃瞄待排序的元素,在掃瞄過程中依次對相鄰元素進行比較,將關鍵字值大的元素後移。每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。一般地,對n個元素進行氣泡...