#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int bubble(int A[],int n);
int select(int A[],int n);
int print(int A[],int n);
int main(){
int n=100;
srand((unsigned int)time(0));//生成随机数
int A[100];
for(int i=0;i<n;i++){
A[i]=rand()%100;//随机数用100取余,保证每个数都小于100
}
cout<<"乱序排列为"<<endl;
print(A,n);
bubble(A,n);
cout<<"冒泡排列为"<<endl;
print(A,n);
srand((unsigned int)time(0));//生成随机数
for(int i=0;i<n;i++){
A[i]=rand()%50;
}
cout<<"乱序排列为"<<endl;
print(A,n);
select(A,n);
cout<<"选择排列为"<<endl;
print(A,n);
return 0;
}
int print(int A[],int n){
for(int i=0;i<n;i++){
cout<<A[i]<<" ";
}
cout<<endl;
return 0;
}
//依次比较两个相邻的元素,按大小顺序交换
int bubble(int A[],int n){
int t;
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1-i;j++){
if(A[j]>A[j+1]){
t=A[j+1];A[j+1]=A[j];A[j]=t;
}
}
}
return 0;
}
//找出数组最小的数放在位置1,在找剩下最小的放在位置2……至结束
int select(int A[],int n){
int i,t,j,min=0;
for(i=0;i<n-1;i++){
min=i;
for(j=i+1;j<n;j++){
if(A[j]<A[min]){
min=j;
}
}
if(i!=min){
t=A[i];A[i]=A[min];A[min]=t;
}
}
return 0;
}
c++随机数组生成与排序(冒泡、选择)
最新推荐文章于 2024-05-01 23:48:02 发布