注册 登录
编程论坛 数据结构与算法

选择排序问题

wluhao 发布于 2012-10-12 18:48, 369 次点击
#include<iostream>
using namespace std;

void select_sort(int arry[],int );
int main()
{int i, a[10];
for(i=0;i<10;i++)
cin>>a[i];
cout<<endl;
select_sort(a,10);
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;

     return 0;
}
void select_sort(int arry[],int n)
{int i,j,k,t;
    for(i=0;i<n-1;i++)
{k=i;
    for(j=1;j<n;j++)
if(arry[k]>arry[j])k=j;
t=arry[k];
arry[k]=arry[i];
arry[i]=t;
}
}用选择法排序,这个程序有什么错误,得到结果与实际不符,请求高人指点,谢谢
3 回复
#2
oncoldrain2012-10-12 19:15
#include<iostream>
using namespace std;

void select_sort(int arry[],int );

int main()
{
    int i, a[10];
    for(i=0;i<10;i++)
        cin>>a[i];
    cout<<endl;
    select_sort(a,10);
    for(i=0;i<10;i++)
        cout<<a[i]<<" ";
    cout<<endl;

     return 0;
}
void select_sort(int arry[],int n)
{
    int i,j,t,k=1;
    while(k)
    {
        k=0;
        for(i=0;i<n-1;i++)
        {            
            if(arry[i]<arry[i+1])
            {   
                t=arry[i];
                arry[i]=arry[i+1];
                arry[i+1]=t;
                k++;
            }
        }
    }
}
#3
oncoldrain2012-10-12 19:26
#include<iostream>
using namespace std;

void select_sort(int arry[],int );

int main()
{
    int i, a[10];
    for(i=0;i<10;i++)
        cin>>a[i];
    cout<<endl;
    select_sort(a,10);
    for(i=0;i<10;i++)
        cout<<a[i]<<" ";
    cout<<endl;

     return 0;
}
void select_sort(int arry[],int n)
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
            if(arry[i]>arry[j])
            {
                k=j;
                t=arry[k];
                arry[k]=arry[i];
                arry[i]=t;
            }
    }
}
#4
Silence_2012-10-12 20:21
void select_sort(int array[],int n)
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
            if(array[k]>array[j])
                k=j;
            if(k!=i)
            {t=array[i];x[i]=array[k];array[k]=t;}
    }
}
代码就是这样
1