第2题
第5题
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
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 用于存放数组元素个数
};
第9题
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;++i){
int t=a[i];
int j;
for(【 】;j>0;--j){
if(t>=a[j-1])break;
a[j]=a[j-1];}
a[j]==t;}}
protected:
int*a,n;//指针a用于存放数组首地址,n用于存放数组元素个数
};
第10题
下列三种算法是经常应用的内排序算法:插入排序、选择排序和冒泡排序。阅读下列算法,回答问题。 INSERTION-SORT(A) 1. for i=2 to N 2. { key = A[i] ; 3. j =i-1; 4. While (j>0 and A[j]>key) do 5. { A[j+1]=A[j]; 6. j=j-1; } 7. A[j+1]=key; 8. } SELECTION-SORT(A) 1. for i=1 to N-1 2. { k=i; 3. for j=i+1 to N 4. { if A[j] <a[k] then k="j;" } 5. if> i then 6. { 7. temp =A[k]; 8. A[k]=A[i]; 9. A[i]=temp; 10. } 11. } BUBBLE-SORT(A) 1. for i=1 to N-1 2. { haschange=false; 3. for j=1 to N-i 4. { if A[j]>A[j+1] then 5. { temp =A[j]; 6. A[j]=A[j+1]; 7. A[j]=temp; 8. haschange=true; 9. } 10. } 11. if (haschange ==false) then break; 12. } 阅读INSERTION-SORT算法,关于第4.行至第6.行间程序段的作用,下列说法正确的是_____。
A、将当前待处理元素,依次与已经排序的第j个元素进行比较,j采取递减方式循环,以找到当前元素所应在的位置,并将该位置以前的元素依次向后移动一个位置
B、将当前待处理元素,依次与已经排序的第j个元素进行比较,j采取递增方式循环,以找到当前元素所应在的位置,并将该位置以前的元素依次向后移动一个位置
C、将当前待处理元素,依次与已经排序的第j个元素进行比较,j采取递增方式循环,以找到当前元素所应在的位置,并将该位置以后的元素依次向前移动一个位置
D、将当前待处理元素,依次与已经排序的第j个元素进行比较,j采取递减方式循环,以找到当前元素所应在的位置,并将该位置以后的元素依次向后移动一个位置
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!