算法:解决问题的方法或步骤的描述
推荐两个学习视频:
视频1
https://www.bilibili.com/video/av685670%C2%A0视频2
https://www.bilibili.com/video/av49706352
代码实现三种排序 :
注意了!
注意了!
注意了!
#include<bits/stdc++.h>
using namespace std;
int a[1000],len;
int main(){
cin>>len;
for(int i=1;i<=len;i++) cin>>a[i];
for(int i=1;i<=len;i++){
int min=i;
for(int j=i+1;j<=len;j++){
if(a[min]>a[j]) min=j;
}
swap(a[i],a[min]);
}
for(int i=1;i<=len;i++){
cout<<a[i]<<" ";
}
return 0;
}
//选择排序
#include<bits/stdc++.h>
using namespace std;
int a[1000],n;
bool t;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
t=false;
for(int j=1;j<n;j++){
if(a[j]>a[j+1]){
swap(a[j],a[j+1]);
t=true;
}
}
if(t==false) break;
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
//冒泡排序
#include<bits/stdc++.h>
using namespace std;
int a[1000],n,t;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=2;i<=n;i++){
int j;
t=a[i];
for(j=i-1;j>=1&&a[j]>t;j--){
a[j+1]=a[j];
}
a[j+1]=t;
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
//插入排序