作业介绍
冒泡排序与选择排序
冒泡排序:
#include<iostream>
using namespace std;
int n,a[10010];
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
//冒泡排序:
for(int i=1;i<=n-1;i++){//1 2 3 i
for(int j=1;j<=n-i;j++){//n-1 n-2 n-3 n-i
if(a[j]>a[j+1]){
int x=a[j];
a[j]=a[j+1];
a[j+1]=x;
}
}
}
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
return 0;
}
选择排序:
#include<bits/stdc++.h>
using namespace std;
int n,k,m,a[2000010];
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++)cin>>a[i];
//选择排序:
for(int i=1;i<=m-1;i++){
int x=a[i],s;//
for(int j=i;j<=m;j++){//从i到m找最小值
if(a[j]<=x){
x=a[j];
s=j;//s保存最小值下标
}
}
a[s]=a[i];
a[i]=x;
}
for(int i=1;i<=m;i++)cout<<a[i]<<" ";
return 0 ;
}
- 状态
- 已结束
- 题目
- 6
- 开始时间
- 2024-4-3 0:00
- 截止时间
- 2024-4-30 23:59
- 可延期
- 24 小时