OJ 1500 歸併排序

2021-10-08 06:43:15 字數 541 閱讀 3597

描述

利用二分歸併排序演算法將讀入的n個數從小到大排序後輸出。

輸入輸入的第一行包含1個正整數n,表示共有n個整數需要參與排序。其中n不超過100000。

第二行包含n個用空格隔開的正整數,表示n個需要排序的整數。

輸出只有1行,包含n個整數,表示從小到大排序完畢的所有整數。

請在每個整數後輸出乙個空格,並請注意行尾輸出換行。

輸入樣例 1

102 8 4 6 1 10 7 3 5 9

輸出樣例 1

1 2 3 4 5 6 7 8 9 10

這題主要是二分歸併排序,即把陣列一分再分,每次都從中間分。然後再分到最後再進行一組一組的排序一段一段的拼接最後排序完成。

#include using namespace std;

int temp[100000];

int a[100000];

void mergesort(int low,int mid,int high)

return 0;

}

歸併排序(2 路歸併排序)

遞迴寫法 include define maxn 100 void merge int a,int l1,int r1,int l2,int r2 將陣列a的區間 l1,r1 和區間 l2,r2 合併為乙個有序區間 else while i r1 while j r2 for int i 0 i非遞...

python歸併排序 python 歸併排序

排序思路 1.將陣列分成兩組a,b,建立臨時陣列 c,c長度 a b 2.i,j分別屬於a,b 3.若a i b j 將b j 放入c,j 否則 a i 放入c,i 4.迴圈3步驟,將a或b中剩餘的元素放入c,再將c複製到陣列中 5.遞迴3 4直到a,b序列的長度 1 歸併排序 class merg...

排序 歸併排序

歸併 merge 排序法是將兩個 或兩個以上 有序表合併成乙個新的有序表,即把待排序序列分為若干個子串行,每個子串行是有序的。然後再把有序子串行合併為整體有序序列。歸併 將兩個已經排好序的集合合併到乙個集合眾,並且保證新的集合也是有序的。核心點 只有乙個元素的集合是已經排好序的集合。歸併排序是建立在...