使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,实现函数sort(intA[],int n),用选择排序法把数组从大到小排序。 提示:选择排序法的思想是: (1)反复从还未排好的那部分线性表中选择出关键字最

admin2017-09-20  34

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,实现函数sort(intA[],int n),用选择排序法把数组从大到小排序。
    提示:选择排序法的思想是:
    (1)反复从还未排好的那部分线性表中选择出关键字最小的节点;
    (2)按照从线性表中选择出的顺序排列节点,重新组成线性表;
    (3)直到未排序的那部分为空,则重新形成的线性表是一个有序的线性表。
    补充函数sort(int A[],int n),实现选择排序。
    注意:请勿改动主函数。
#include
#define N 10
void Sort(int A[N],int n)
{
}
int main()
{
    int A[N]={1,2,1 0,5,7,1 9,34,7 8,一3,8};
    sort(A,1 0);
    for(int i=0;i    {
    cout<<<‘  ’;
    }
    cout<    return 0;
}

选项

答案int i,j; for(i=0;iA[j+1]) //如果前面的数比后面的大则进行交换 { int t=A[j];//做交换 A[j]=A[j+1]; A[j+1]=t; } } }

解析 选择法的思路是:将相邻两个数比较,将小的调到前头。这样下标从0到n-1的数与其后面相邻的数交换,可以把最大的数交换到数组的末端。进行n次下标从0到n-1的交换,则数组则会变成有序的,而且是由小到大的顺序。
转载请注明原文地址:https://kaotiyun.com/show/KTAp777K
0

最新回复(0)