首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,实现函数sort(intA[],int,n),用选择排序法把数组从大到小排序。 提示:选择排序法的思想是: (1)反复从还未排好的那部分线性表中选择出关键字最小的
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,实现函数sort(intA[],int,n),用选择排序法把数组从大到小排序。 提示:选择排序法的思想是: (1)反复从还未排好的那部分线性表中选择出关键字最小的
admin
2018-10-23
41
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,实现函数sort(intA[],int,n),用选择排序法把数组从大到小排序。
提示:选择排序法的思想是:
(1)反复从还未排好的那部分线性表中选择出关键字最小的节点;
(2)按照从线性表中选择出的顺序排列节点,重新组成线性表;
(3)直到未排序的那部分为空,则重新形成的线性表是一个有序的线性表。
补充函数sort(int A[],int,n),实现选择排序。
注意:请勿改动主函数。
1 #include<iostream.h>
2 #define N 10
3 void sort(int A[N],int n)
4 {
5
6 }
7 int main()
8 {
9 int A[N]={1,2,10,5,7,19,34,78,-3,8};
10 sort(A,10);
11 for(int i=0;i<sizeof(A)/sizeof(int);i++)
12 {
13 cout<<A
<<’’;
14 }
15 cout<<end1;
16 return 0;
17 }
选项
答案
1 int i,j; 2 for(i=0;i<n-1;i++) 3 { 4 for (j=0;j<n-1-i; j++) 5 { 6 if (A[j]>A[j+1])//如果前面的数比后面的大则进行交换 7 { 8 int t=A[j];//做交换 9 A[j]=A[j+1]; 10 A[j+1] =t; 11 } 12 } 13 }
解析
选择法的思路是:将相邻两个数比较,将小的调到前头。这样下标从0到n-1的数与其后面相邻的数交换,可以把最大的数交换到数组的末端。进行n次下标从0到n-1的交换,则数组则会变成有序的,而且是由小到大的顺序。
(1)数组A[N]中有n个数,进行n-1趟比较,在每一趟比较中两两比较的次数逐渐减少,比如若有6个数9,8,5,4,2,0。第一次将8和9对调,第二次将第2和第3个数(9和5)对调,……,如此共进行5次,得到8.5-4.2.0-9的顺序,可以看到:最大的数9已“沉底”,成为最下面一个数,而小的数“上升”。最小的数0已向上“浮起”一个位置。经第一趟(共5次)后,已得到最大的数。然后进行第二趟比较,对余下的前面5个数按上法进行比较,经过4次比较,得到次大的数8。如此进行下去。可以推知,6个数要比较5趟。在第一趟中要进行两两比较5次,在第二趟中比4次,……第5趟比1次。因此设置两层循环,外层循环变量i从0变化大到n-1,内层循环变量j从0到n-j,在内层循环体内,比较相邻两数,如果前面比后面的大则交换。
(2)在内层循环体内,如果前面的元素比后面的元素大,则用一个临时变量记录前面的第i个元素,然后将第j+1个元素赋值给第j个元素,临时变量值赋给第i+1个元素,如此完成两个元素的交换。
转载请注明原文地址:https://kaotiyun.com/show/55Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
类中包含了一个静态成员函数,则main函数中和P.fl(P);语句具有同样功能的语句为______。#include<iostream.h>classM{public:M(intA){A=a;B+=a;}
类clasgone在声明func成员函数时发生错误,出错原因是______。classoneprivate:inta;public:voidfunc(two&);};class
假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为______。
面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?
下面程序的结果是()。#include<iostream.h>classA{inta;public:A():a(1){}voidshowa(){cout<<a;}};Cl
有以下程序:#include<iostream.h>voidfun(inta,mtb,intC){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;
有下列程序:#include<iostream>usingnamespacestd;classTestClass1{public:TestClass1(){cout<<"A";}
下列数据结构中,按先进后出原则组织数据的是
若有如下变量定义和函数调用语句:inta=5;fun(&A);则执行下面函数后正确的输出结果是()。voidfun(int*x){cout<<++*
如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是()。
随机试题
我国的企业债券和公司债券在以下哪些方面有所不同?()Ⅰ.发行方式以及发行的审核方式不同Ⅱ.担保要求不同Ⅲ.发行主体的范围不同Ⅳ.发行定价方式不同
药物制剂中含有的硬脂酸镁,会对下列哪些分析方法产生干扰
下列哪些药物的立体异构体作用强度不同
为了使系统达到其特定的目标,使全体参加者经分工与协作以及设置不同层次的权力和责任制度而构成的一种人的组合体就是( )。
企业购入交易性金融资产时支付的相关费用应该计入到交易性金融资产的入账价值中。()
采用性格量表对学生进行测量,他们在一个月后的结果与六个月前和三个月前的得分大致相等,这表明浏验的()较高。
当攻方在守方罚球区附近踢任意球时,守方人墙的合法距离应为_______米。
雪的可爱处在于它覆盖大地没有差别。冬夜拥被而眠,觉寒气袭人,蜷缩不敢动,凌晨张开眼皮,窗棂窗帘隙处有强光____________,大异往日,起来推窗一看,啊!白茫茫一片银世界。竹枝松叶顶着一堆堆的白雪,杈芽老树也都镶了银边,朱门与蓬户同样的蒙受它的沾被,没
To:SalesMangersFrom:DistrictManagerAsyouknow,wehavespokenonseveraloccasionsaboutmovingtoatemporarylocation
A、Youneedalotofmoneytostartthebusiness.B、Youngostrichesareveryindependent.C、Ostrichesarealwaysshutincages.D
最新回复
(
0
)