更多"插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到已排序序"的相关试题:
[填空题]插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。Insert类的成员函数sort( )实现了插入排序算法,请填空。
class Insert{
public:
Insert(int *b0,int n0):b(b0),n(n0)<);//参数b0是某数组首地址,n是数组元素个数
void sort( )
{//此函数假设已排序序列初始化状态只包含b[0],未排序序列初始为b[1]...b[n-1]
for(int i=1;i<n;++i)
{
int t=b[i];
int j;
for(______;j>0;--j)
{
if(t>=b[j-1])
break;
b[j]=b[j-1];
b[j]=t;
}
}
}
[填空题]插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。InsertSort类的成员函数sort( )实现了插入排序算法。请将画线处缺失的部分补充完整。
class InsertSort
public:
InsertSort(int* a0,int n0):a(a0),n(n0)//参数a0是某数组首地址,n是数组元素个数
void sort( )
//此函数假设已排序序列初始化状态只包含a[0],未排序序列初始为a[1]...a[n-1]
for(int i=1;i<n;11i)
int t=a[i];
int j;
for( 【14】 ;j>0;--j)
if(t>=a[j-1]))break;
a[j]=a[j-1];
a[j]=t;
protected:
int *a,n;//指针a用于存放数组首地址,n用于存放数组元素个数
;
[简答题]
【算法说明】
下面是一段插入排序的程序,将R[k+1]插入到R[1...k]的适当位置。
R[0]=R[k+1];
j=k;
while(R[j]>R[0])
{
R[j+1]=R[j];
j- -;
}
R[j+1]=R[0];
【流程图】
【测试用例设计】
(while循环次数为0、1、2次)
表4-1 测试用例表
循 环 次 数 |
输入数据 |
|
预期结果 |
覆盖路径 |
j |
R[i-2] |
R[i-1] |
R[i] |
R[i+1] |
R[0] |
j |
R[i-2] |
[填空题]进程调度算法主要有先进先出算法、 【10】 轮转算法和最高优先数算法。
[填空题]有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。
#define N 100
main( )
{ float a[N+1],x;
int i,p;
for(i=0;i<N;i++)
scanf("%f"&a[i]);
scanf("%f",&x);
for(i=0,p=N;i<N;i++)
if(x<a[i])
{ 【18】 ;
break;}
for(i=N-1; 【19】 ;i-)
a[i+1]=a[i];
a[p]=x;
for(i=0; 【20】 ;i++)
{ printf("%8.2f",a[i]);
if(i%5=0)
printf("/n");
}
}
购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
请选择支付方式
-
微信支付
-
支付宝支付
立即支付
系统将自动为您注册账号
请使用微信扫码支付
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码