( 14 ) 插入排序算法的主要思想是 : 每次从未排序序列中取出一个数据 , 插入到已排序序列中的正确位置 。InsertSort 类的成员函数 sort() 实现了插入排序算法。请将画线处缺失的部分补充完整。class InsertSort{public:InsertSort(int* a0, int n0) :a(a0), n(n0) {} // 参数 a0 是某数组首地址, n 是数组元素个数void sort( ){// 此函数假设已排序序列初始化状态只包含 a[0] ,未排序序列初始为 a[1

题目

( 14 ) 插入排序算法的主要思想是 : 每次从未排序序列中取出一个数据 , 插入到已排序序列中的正确位置 。

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 用于存放数组元素个数

};


相似考题
参考答案和解析
正确答案:
更多“( 14 ) 插入排序算法的主要思想是 : 每次从未排序序列中取出一个数据 , 插入到已排序序列中的正 ”相关问题
  • 第1题:

    插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。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;

    }

    }

    }


    正确答案:j=i
    j=i 解析:在函数sort()中,外层for循环中依次将数组b中的值赋值给变量t,然后在内层循环中依次与已经排序的数组元素进行比较,并在符合条件的位置插入该元素。由“int t=b[i];”语句可知,数组中有i个元素已经排好了序。因此,根据内层循环中的j>0;--j语句,知道内层循环是将当前的第i个元素与j个元素进行比较,前面已知数组中有i个元素已经排好了序,根据题干中的要求“插入到已排序序列中”,即j=i。

  • 第2题:

    从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法为( )。

    A.插入排序
    B.选择排序
    C.快速排序
    D.冒泡排序

    答案:A
    解析:
    一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法--插入排序法。

  • 第3题:

    排序算法中,从未排序序列中依次取出元素同已排序序列中元素进行比较,将其放入已排序序列的一端的排序称为()。

    A.插入排序

    B.选择排序

    C.归并排序

    D.冒泡排序


    C

  • 第4题:

    从未排序序列中依次取出元素与已排序序列中的元素作比较,将取出的元素放入已排序序列中的正确位置上,此方法称为______。

    A.归并排序

    B.选择排序

    C.交换排序

    D.插入排序


    正确答案:D

  • 第5题:

    排序算法中,从未排序序列中依次取出元素同已排序序列中元素进行比较,将其放入已排序序列的正确位置的排序称为()。

    A.希尔排序

    B.插入排序

    C.选择排序

    D.冒泡排序


    C