学的有点晕,b站大佬的代码有点看不懂
B站上面学的:
代码:
#include<cstdio>
int main(){
int arr[5]={4,1,3,6,2};
int i,j;
int now;
for(i=1;i<5;i++){
now=arr[i];
for(j=i-1;j>=0;j--){
if(now<arr[j]) arr[j+1]=arr[j];
else break;
}
arr[j+1]=now;
}
for(int k=0;k<5;k++){
printf("%d ",arr[k]);
}
return 0;
}
自己写的:
代码:
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
int arr[5]={2,4,1,5,3};
int swap;
int i,j;
for(i=1;i<5;i++){
for(j=i-1;j>=0;j--){
if(arr[j]>arr[j+1]){
swap=arr[j+1];
arr[j+1]=arr[j];
arr[j]=swap;
}
}
}
for(int k=0;k<5;k++){
cout<<arr[k]<<" ";
}
return 0;
}
可能是自己太菜了吧。。。。。
努力学排序