首頁>Club>
1
回覆列表
  • 1 # 夏夜辰風68

    這屬於群體資料組織問題,我就回答幾個對陣列元素排序的方法。(預設都是按升序)

    插入排序

    插入排序的基本思想是:每一步將一個待排元素按其關鍵字值的大小插入到已排序序列中,直到待排元素插入完為止。如果要對具有n個元素的陣列a進行排序,初始狀態可以認為a[0]為已排序列,排序過程如圖所示:

    程式碼實現選擇排序

    選擇排序的基本思想:每次從待排序序列中選擇一個關鍵字最小的元素(升序),順序排在已排序序列的最後,直至全部排完。在選擇排序法中,根據從待排序序列中選擇元素的方法不同,又分為不同的選擇排序法。其中最簡單的是透過順序比較找出待排序序列中的最小元素,也就說直接排序法。

    初始狀態: [5 4 10 20 12 3]

    (1)選出最小元素3: [5 4 10 20 12 3]

    (2)選出最小元素4: 3 [4 10 20 12 5]

    (3)選出最小元素5: 3 4 [10 20 12 5]

    (4)選出最小元素10: 3 4 5 [20 12 10]

    (5)選出最小元素12: 3 4 5 10 [12 20]

    排序後的狀態: 3 4 5 10 12 [20]

    程式碼實現交換排序

    交換排序的基本思想是:兩兩比較待排序序列中的元素,比交換不滿足順序要求的各對元素,直到全部滿足順序要求為止。最簡單的交換排序方法是氣泡排序:

    (1)首先將第一個元素與第二個元素進行比較,若為逆序則互換。然後比較第二第三個元素,以此類推,知道第n-1個和第n個元素進行了比較和互換。第一趟起泡完成,最大的元素被交換到第n個位置。

    (2)對前n-1個元素進行第二趟氣泡排序,將其中最大元素交換到n-1個位置。

    (3)依此類推,直到某一趟排序為發生任何交換,對n個元素最多需要冒泡n-1次。

    程式碼實現以上就是我的回答,喜歡請關注,我們一起學程式設計。

  • 中秋節和大豐收的關聯?
  • 有一首歌的歌詞是在一瞬間什麼什麼什麼的歌曲是什麼?