思路:
由於這道題排序個數並不多(n<=100),所以我們沒必要一定要把這兩個排序方法都寫出來,我們只需要知道原理,這裡我通過stl提供的sort模擬插入和歸併排序。
測試點:
插入排序(測試點0、2、4) 歸併排序(測試點1、3、5、6)。
**:
#include
#include
#include
#include
using
namespace std;
intinsert
(int
*a,int
*b,int n)
return0;
}int
merge
(int
*a,int
*b,int n)
if(tag)
return1;
if(equal
(a,a+n,b)
) tag=1;
if(k>=n)
break;}
return0;
}int
main()
for(
int i=
0;i(insert
(a,b,n))}
else}}
return0;
}
1035 插入與歸併(25 分)
根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全部元素有序。歸併排序進行如下迭代操作 首先將原始序列看成 n 個只包含 1 個元素的有序子串行,然後每次迭代歸併兩個相鄰的有序子串...
1035 插入與歸併 (25 分)
1035 插入與歸併 25 分 根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全部元素有序。歸併排序進行如下迭代操作 首先將原始序列看成 n 個只包含 1 個元素的有序子串行,然...
1035 插入與歸併 25 分
根據維基百科的定義 插入排序是迭代演算法,逐一獲得輸入資料,逐步產生有序的輸出序列。每步迭代中,演算法從輸入序列中取出一元素,將之插入有序序列中正確的位置。如此迭代直到全部元素有序。歸併排序進行如下迭代操作 首先將原始序列看成 n 個只包含 1 個元素的有序子串行,然後每次迭代歸併兩個相鄰的有序子串...