c语言第40题
编写程序,输入10个正整数,将它们从小到大排序后输出。 你是来要答案的吗?自己写一写呀,这又不难
人造人 发表于 2018-1-10 20:15
你是来要答案的吗?
自己写一写呀,这又不难
初学者,这个题我没想出怎么做来? 初学者,这个题我没想出怎么做来? http://blog.csdn.net/hguisu/article/details/7776068
建议看看,常用的排序算法,看不懂可以先看冒泡排序 void print(int a[], int n ,int i)
{
cout<<"第"<<i+1 <<"趟 : ";
for(int j= 0; j<8; j++){
cout<<a <<"";
}
cout<<endl;
}
/**
* 数组的最小值
*
* @return int 数组的键值
*/
int SelectMinKey(int a[], int n, int i)
{
int k = i;
for(int j=i+1 ;j< n; ++j) {
if(a > a) k = j;
}
return k;
}
/**
* 选择排序
*
*/
void selectSort(int a[], int n){
int key, tmp;
for(int i = 0; i< n; ++i) {
key = SelectMinKey(a, n,i); //选择最小的元素
if(key != i){
tmp = a;a = a; a = tmp; //最小元素与第i位置元素互换
}
print(a,n , i);
}
}
int main(){
int a = {3,1,5,7,2,4,9,6};
cout<<"初始值:";
for(int j= 0; j<8; j++){
cout<<a <<"";
}
cout<<endl<<endl;
selectSort(a, 8);
print(a,8,8);
}
有简单一点的方法吗?
页:
[1]