用选择法对10个整数排序
收起
知与谁同
2018-07-15 15:58:17
3619
0
3
条回答
写回答
取消
提交回答
-
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{void order(int *p,int n);
int a[10],i;
cout<<"enter 10 numbers:"<<endl;
for(i=0;i<10;i++)
cin>>*(a+i);
order(a,10);
cout<<"Now the order:"<<endl;
for(i=0;i<10;i++)
cout<<setw(5)<<a[i];
cout<<endl;
}
void order(int *p,int n)
{int j,k,t,m;
for(m=0;m<n-1;m++)
{j=m;
for(k=m+1;k<n;k++)
if(*(p+m)>*(p+k))
{t=*(p+m);
*(p+m)=*(p+k);
*(p+k)=t;}
}
}
2019-07-17 22:50:23
-
用什么语言实现也没说啊,选择法就是从10个整数中选一个最小的排在第一位,然后再从剩下的9个里选最小的排第二位,依次类推,直到排完
2019-07-17 22:50:23
-
void SelectSort(int L[]) {
// 对顺序表L作简单选择排序
int i,j,k;
for (i =1; i < n; i++) {
k = i;
for (j = i+1; j <= n; j++)
if (L[j] < L[k]) k=j;
if(k!=j)
{L[0] = L[k]; L[k] = L[i]; L[i] =L[0];}
}
} // SelectSort
2019-07-17 22:50:23