</pre><pre code_snippet_id="1590889" snippet_file_name="blog_20160228_2_5059674" name="code" class="cpp">#include<iostream.h>
/*每次选出一个最小的,并与当前位置交换。*/
int str[100];
//*********选出最小位置
int select_min(int *str,int i,int n){
int min_num=str[i];
int j=i;
int min=i;//从i开始找最小序号
for(j;j<=n;j++){
if(str[j]<min_num){
min_num=str[j];
min=j;
}
}
return min;
}
//************简单选择排序
int *select(int*str,int n){
int min;
int i=1;
for(i;i<=n;i++){
min=select_min(str,i,n);//最小的数的位置
//cout<<endl<<min;
int tip=str[i];
str[i]=str[min];
str[min]=tip;
}
return str;
}
void main()
{
int n=0;
cout<<"input n:"<<endl;
cin>>n;
cout<<"input numbers:"<<endl;
int i=1;
str[0]=0;
for(i;i<=n;i++){
cin>>str[i];
}
//select_min(str,1,4);
int*b;
b=select(str,n);
int j=1;
cout<<endl<<"*************"<<endl;
cout<<"所求序列为:";
for(j;j<=n;j++){
cout<<str[j]<<",";
}
cout<<endl;
}
选择排序
最新推荐文章于 2024-08-22 10:51:34 发布