冒泡排序-普通版:
#include <iostream>
using namespace std;
int a[1001], n;
int main() {
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= n - 1; i++)
for (int j = 1; j <= n - i; j++)
if (a[j] > a[j + 1])
swap(a[j], a[j + 1]);
for (int i = 1; i <= n; i++)
cout << a[i] << " ";
return 0;
}冒泡排序-优化版:
/*1.分析已知/未知2.数据定义 3.输入
4.算法实现 5.输出*/
#include<bits/stdc++.h>
using namespace std;
int a[1010];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n-1;i++){
int flag=0;
for(int j=1;j<=n-i;j++){
if(a[j]>a[j+1]){
flag=1;
swap(a[j],a[j+1]);
}
}
if(flag==0)
break;
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}冒泡排序-题目训练:
P1116 车厢重组
https://www.luogu.com.cn/problem/P1116
选择排序:
插入排序: