题目:
实现插入排序算法。介绍如下:
插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从前向后扫描,找到相应位置并插入。
请编写代码,完成 插入排序,对给定数据进行升序排列。
题解:
按题意实现即可。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
vector<int>arr(n);
for(int i=0;i<n;i++){
cin>>arr[i];
}
for(int i=1;i<n;i++){
int ind=i;
for(int j=ind-1;j>=0;j--){
if(arr[ind]<arr[j])swap(arr[ind],arr[j]);
ind-=1;
}
}
for(int i=0;i<n;i++)cout<<arr[i]<<" ";
return 0;
}