PTA 1035 插入與歸併 c 分析

2021-09-26 02:25:31 字數 894 閱讀 8536

分析:對於大部分剛接觸演算法的人來說,插入排序應該是比較熟悉的一種排序,很多人可能並不知道歸併排序的原理,這裡有一篇文章可以看下圖:

大致意思就是兩個兩個一組排序,然後四個四個一組排序,以此類推,最後就把全部的排完了。

好,我們繼續來看這道題。因為題目中給出的所需要排序的數並不多,所以我們沒必要直接寫出這兩種排序方法。下面的**中

我是用的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 根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全...