#include<iostream>
#include<vector>
using namespace std;
//选择排序
void SelectSort(vector<int>& v){
for(int i=0;i<v.size()-1;i++){
int temp = i;
for(int j=i+1;j<v.size();j++){
if(v[temp]>=v[j])
{
temp = j;
}
}
swap(v[i],v[temp]);
}
}
//冒泡排序
void BubbleSort(vector<int>& v){
for(int i=0;i<v.size()-1;i++){
for(int j=0;j<v.size()-i-1;j++){
if(v[j]>v[j+1])
{
swap(v[j],v[j+1]);
}
}
}
}
//插入排序
void InsertSort(vector<int>& v){
for(int i=1;i<v.size();i++){
int now=v[i],j;
for(j=i-1;j>=0;j--){
if(now<v[j])
v[j+1]=v[j];
else
break;
}
v[j+1]=now;
}
}
int main()
{
int n =0;
cin>>n;
vector<int> v(n);
for(int i=0;i<n;i++){
v[i] =rand();
}
for(auto&it:v){
cout<<it<<' ';
}
cout<<endl;
//SelectSort(v);
//BubbleSort(v);
InsertSort(v);
for(auto&it:v){
cout<<it<<' ';
}
return 0;
}
C++ O(n^2)排序方法 (选择排序、冒泡排序、插入排序)
于 2023-09-28 10:12:36 首次发布