#include<iostream>
#include<vector>
#include<string>
#include<set>
#include<map>
#include<unordered_set>
#include<unordered_map>
#include<algorithm>
#include<xfunctional>
using namespace std;
void insert_recur(vector<int>& arr,int start,int end){
if (start >= end) return;
insert_recur(arr,start,end-1);
int key = arr[end];
int index = end - 1;
while (index >= 0 && arr[index] > key){
arr[index + 1] = arr[index];
index--;
}
arr[index + 1] = key;
}
int main(){
int n;
cout << "Input the size(>=1) of the array:";
cin >> n;
vector<int> arr(n,0);
cout << "Input the array element:";
for (int i = 0; i < n; i++) cin >> arr[i];
insert_recur(arr,0,arr.size()-1);
for (int i = 0; i < arr.size(); i++) cout << arr[i] << " ";
cout << endl;
system("pause");
return 0;
}
算法导论 习题2.3-4(the implemention of insertion sort recursively)
最新推荐文章于 2020-09-08 21:37:07 发布