分析:對於大部分剛接觸演算法的人來說,插入排序應該是比較熟悉的一種排序,很多人可能並不知道歸併排序的原理,這裡有一篇文章可以看下圖:
大致意思就是兩個兩個一組排序,然後四個四個一組排序,以此類推,最後就把全部的排完了。
好,我們繼續來看這道題。因為題目中給出的所需要排序的數並不多,所以我們沒必要直接寫出這兩種排序方法。下面的**中
我是用的c++中的sort函式來模擬了一下這兩種排序方法。寫出來排序方法後面的相信各位看官應該就會做了。
**如下:
">#includeusing namespace std;
int n;
void insort(int a, int b)
if (equal(a, a + n, b)) //equal是乙個比較陣列的函式
key = 1; }}
void mesort(int a, int b)
if (key)
if (equal(a, a + n, b))
key = 1;
if (i > n)
break; }
}int main()
for (int i = 0; i < n; i++)
cin >> b[i];
insort(a2, b);
mesort(a1, b);
return 0;
}
PTA乙級 1035 插入與歸併
根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全部元素有序。歸併排序進行如下迭代操作 首先將原始序列看成 n 個只包含 1 個元素的有序子串行,然後每次迭代歸併兩個相鄰的有序子串...
1035 插入與歸併
題目是pat乙級 思路 簡單修改插入排序和合併排序源 加入和目標比較若相等,就退出。注意 插入排序不是從第0個元素開始,是從第1個元素開始的。訓練目的 插入排序 合併排序 題目描述 根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出...
1035 插入與歸併
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全...