VC中如何用简单选择法对10个数排序

来源:百度知道 编辑:UC知道 时间:2024/06/09 10:54:25
我想用的是简单选择法,不是冒泡法!请高手指点,说一下大致算法

要的是选择排序两个for嵌套的那个是冒泡排序

下面是一个选择排序:

#include<iostream>
using namespace std;
template <class T>
void taxis(T x[],int n)
{
int i,j,k;
T a;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]<x[k])
k=j;
if(k!=i)
{
a=x[i];x[i]=x[k];x[k]=a;
}
}
for(i=0;i<n;i++)
cout<<x[i]<<" ";
cout<<endl;
}
void main()
{
double b[]={2.3,4.5,1.8,9.3,0.2};
taxis(b,sizeof(b)/sizeof(double));
}

对a[n]排序,t数据类型与a一致
int i,j;
max=0;
for(i=0;i<=n-1;i++)
{for(j=i;j<=n;j++)
if(a[i]<a[j]) max=j;//max记录最大值下标降序用〈比较升序用>比较
t=a[i];a[i]=a[max];a[max]=t;//交换
}
楼上的怎么看着像是分行打印啊

#include<iostream.h>
#include<iomanip.h>
int main()
{
int letter_ctr,i;
cout<