給出乙個初始序列,可以將它使用插入或歸併進行排序。再給出乙個序列,問它是剛才初始序列哪種排序產生的,並輸出下一步產生的序列。
1031
2875
9460
1237
8594
60
insertion sort12
3578
9460
434
2134
21//output23
41
本題資料量較小,所以輸入輸出時可以用cin和cout,排序過程中可以直接使用sort
插入過程的第一步是前兩個數開始排序,而不是只對第乙個數排序,如果不注意這點,第2號測試點會答案錯誤
#include
using
namespace std;
bool
issame
(int a,
int b,
int n)
void
show
(int a,
int n)
}int
main()
for(
int i=
0;i)cin>>b[i]
;bool flag=
true
;for
(int i=
2;i<=n;i++)}
bool print=
false;if
(flag)}}
return0;
}
PAT B 1035 插入與歸併
1035 插入與歸併 25 分 根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全部元素有序。歸併排序進行如下迭代操作 首先將原始序列看成 n 個只包含 1 個元素的有序子串行,然...
PAT B 1035 插入與歸併 (25 分)
根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全部元素有序。歸併排序進行如下迭代操作 首先將原始序列看成 n 個只包含 1 個元素的有序子串行,然後每次迭代歸併兩個相鄰的有序子串...
1035 插入與歸併
題目是pat乙級 思路 簡單修改插入排序和合併排序源 加入和目標比較若相等,就退出。注意 插入排序不是從第0個元素開始,是從第1個元素開始的。訓練目的 插入排序 合併排序 題目描述 根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出...