1.插入排序
#include<bits/stdc++.h>
using namespace std;
vector<int> arr;
void Insert_Sort()
{
for(int i=1;i<arr.size();i++)
{
int key=arr[i];
int j=i-1;
while(arr[j]>key&&j>=0){
arr[j+1]=arr[j];j--;
}
arr[j+1]=key;
}
}
int main()
{
for(int i=0;i<10;i++)
{
int num;
cin>>num;
arr.push_back(num);
}
Insert_Sort();
for(int i=0;i<arr.size();i++){
if(i)
cout<<" ";
cout<<arr[i];
}
cout<<endl;
}
2.归并排序
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
#define lson l,m
#define rson m+1,r
typedef long long ll;
ll tmp;
const int maxn = 1e5 + 10;
int num[maxn];
void merge_sort(int l,int r)
{
if(l==r)
return;
int m=(l+r)>>1;
merge_sort(lson);
merge_sort(rson);
int i=l;
int j=m+1;
int a[maxn];
int len=0;
while(i<=m&&j<=r)
{
if(num[i]>num[j])
{
a[len++]=num[j++];
}
else{
a[len++]=num[i++];
}
}
while(i<=m)
{
a[len++]=num[i++];
}
while(j<=r)
{
a[len++]=num[j++];
}
for(int t=0;t<len;t++)
num[t+l]=a[t];
}
int main()
{
tmp=0;
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>num[i];
merge_sort(0,n-1);
for(int i=0;i<n;i++){
if(i)
cout<<" ";
cout<<num[i];
}
cout<<endl;0
10
}