|
/*
解决问题的方法
3 1 4 5 2
1 3 4 5 2
1 3 4 5 2
1 3 2 4 5
1 2 3 4 5
1 2 3 4 5
5个数 4趟
n个数(n-1)趟
for->n-1次
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
int main(){
int arr[10]={3,2,4,1,5,6,7,9,8,0};
int n=sizeof(arr)/sizeof(int); //数组的长度=元素的长度*元素的个数
for(int i=0;i<n-1;i++){
bool flag=true;//每一趟开始,假设数组是有序的
for(int j=0;j<n-1-i;j++){
if(arr[j]>arr[j+1]){//比较 0到n-1 j+1<=n-1 j<=n-2 j<n-1
//交换
swap(arr[j],arr[j+1]);
flag=false;
swap or 下面
int tmp;
tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
if(flag==true){
break;
}
}
for(int i=0;i<n;i++){
cout<<arr[i]<<' ';
}
return 0;
}
*/
/*
1468 命名的随机数
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
int arr[105];
int ans[105];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>arr[i];
}
for(int i=0;i<n-1;i++){
bool flag=true;//每一趟开始,假设数组是有序的
for(int j=0;j<n-1-i;j++){
if(arr[j]>arr[j+1]){//比较 0到n-1 j+1<=n-1 j<=n-2 j<n-1
//交换
swap(arr[j],arr[j+1]);
flag=false;
}
}
if(flag==true){
break;
}
}
int num=0;
ans[++num]=arr[0];//ans[1]=ans[0]
for(int i=1;i<n;i++){
if(arr[i]!=ans[num]){
ans[++num]=arr[i];
}
}
cout<<num<<endl;
for(int i=1;i<=num;i++){
cout<<ans[i]<<' ';
}
return 0;
}
*/
|
|