niusouti.com

以下关于Array数组对象的说法不正确的是()。A、对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数B、reverse用于对数组数据的倒序排列C、向数组的最后位置加一个新元素,可以用pop方法D、unshift方法用于向数组删除第一个元素

题目

以下关于Array数组对象的说法不正确的是()。

  • A、对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数
  • B、reverse用于对数组数据的倒序排列
  • C、向数组的最后位置加一个新元素,可以用pop方法
  • D、unshift方法用于向数组删除第一个元素

相似考题
更多“以下关于Array数组对象的说法不正确的是()。A、对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数B、reverse用于对数组数据的倒序排列C、向数组的最后位置加一个新元素,可以用pop方法D、unshift方法用于向数组删除第一个元素”相关问题
  • 第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 用于存放数组元素个数

    };


    正确答案:

  • 第2题:

    阅读下列说明、流程图和算法,将应填(n)处的字句写在对应栏内。

    [说明]

    下面的流程图(如图3所示)用N - S盒图形式描述了数组A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为 low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:

    [流程图]

    [算法说明]

    将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int A[],int low,int hieh)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A[],int L,int H)的功能是实现数组A中元素的递增排序。

    [算法]

    void sort(int A[],int L,int H) {

    if (L<H) {

    k=p(A,L,R); //p()返回基准数在数组A中的下标

    sort((4)); //小于基准敷的元素排序

    sort((5)); //大于基准数的元素排序

    }

    }


    正确答案:(1)j--(2)i++(3)A[i]←pivot或[j]←pivot(4) ALk-1或ALk (5)Ak+1H或AkH
    (1)j--(2)i++(3)A[i]←pivot或[j]←pivot(4) A,L,k-1或A,L,k (5)A,k+1,H或A,k,H 解析:题目考查快速排序算法。快速排序采用了一种分治的策略,通常称为分治法。其基本思想是:将原问题分解为若干个规模更小,但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。
    快速排序的具体过程为:第一步,在待排序的n个记录中任取一个记录,以该记录的排序码为基准,将所有记录分成2组,第一组各记录的排序码都小于等于该排序码,第二组各记录的排序码都大于该排序码,并把该记录排在这2组中间,这个过程称为一次划分。第二步,采用同样的方法,对划分出来的2组元素分别进行快速排序,直到所有记录都排到相应的位置为止。
    在进行一次划分时,若选定以第一个元素为基准,就可将第一个元素备份在变量pivot中,如图中的第①步所示。这样基准元素在数组中占据的位置就空闲出来了,因此下一步就从后向前扫描。如图中的第②步所示,找到一个比基准元素小的元素时为止,将其前移,如图中的第③步所示。然后再从前向后扫描,如图中的第④步所示,找到一个比基准元素大的元素时为止,将其后移,如图中的第⑤步所示。这样,从后向前扫描和从前向后扫描交替进行,直到扫描到同一个位置为止,如图中的第⑥步所示。
    由题目中给出的流程图可知,以第一个元素作为基准数,并将A[low]备份至pivot,i用于从前向后扫描的位置指示器,其初值为low, j用于从后往前扫描的位置指示器,其初值为high。当i1)从后向前扫描数组A,在ipivot,就继续向前扫描(j--);如果被扫描的元素A[i]2)这时,再从前向后扫描,在ipivot就停止扫描,并将此元素的值赋给目前空闲着的A[j]。
    3)这时又接第(1)步,直到i>j时退出循环。退出循环时,将pivot赋给当前的A[i](A[i]←pivot)。
    递归函数的目的是执行一系列调用,直到到达某一点时递归终止。为了保证递归函数正常执行,应该遵守下面的规则:
    1)每当一个递归函数被调用时,程序首先应该检查基本的条件是否满足,例如,某个参数的值等于0,如果是这种情形,函数应停止递归。
    2)每次当函数被递归调用时,传递给函数一个或多个参数,应该以某种方式变得“更简单”,即这些参数应该逐渐靠近上述基本条件。例如,一个正整数在每次递归调用时会逐渐变小,以至最终其值到达0。
    本题中,递归函数sort(int A[],int L, int H)有3个参数,分别表示数组A及其下界和上界。根据流程图可知,这里的L相当于流程图中的i,这里的H相当于流程图中的j。因为P()返回基准数所在数组A中的下标,也就是流程图中最后的“A[i]←pivot”中的i。根据快速排序算法,在第一趟排序后找出了基准数所在数组A中的下标,然后以该基准数为界(基准数在数组中的下标为k),把数组A分成2组,分别是A[L,…,k-1)和A[k+1,…,H),最后对这2组中的元素再使用同样的方法进行快速排序。

  • 第3题:

    补充程序Ccon042.C,使程序中的sort()函数用冒泡法对数组a中的m个元素从大到小排序


    for(i=0;i</**/m-1/**/;i++)
    if/**/(a[j]<a[j+1])/**/
    a[j]=/**/a[j+1]/**/;

  • 第4题:

    ●试题二

    阅读下列说明、流程图和算法,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    下面的流程图(如图3所示)用N-S盒图形式描述了数组A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:

    【流程图】

    图3流程图

    【算法说明】

    将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int A[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A[],int L,int H)的功能是实现数组A中元素的递增排序。

    【算法】

    void sort (int A[], int 1,int H){

    if ( L<H){

    k=p(A,L,R);//p()返回基准数在数组A中的下标

    sort( (4) );//小于基准数的元素排序

    sort( (5) );//大于基准数的元素排序

    }

    }


    正确答案:
    ●试题二【答案】(1)j--(2)i++(3)A[i]←pivot或[j]←pivot(4)A,L,k-1或A,L,k(5)A,k+I,H或A,k,H【解析】题目考查快速排序算法。快速排序采用了一种分治的策略,通常称为分治法。其基本思想是:将原问题分解为若干个规模更小,但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。快速排序的具体过程为:第一步,在待排序的n个记录中任取一个记录,以该记录的排序码为基准,将所有记录分成2组,第一组各记录的排序码都小于等于该排序码,第二组各记录的排序码都大于该排序码,并把该记录排在这2组中间,这个过程称为一次划分。第二步,采用同样的方法,对划分出来的2组元素分别进行快速排序,直到所有记录都排到相应的位置为止。在进行一次划分时,若选定以第一个元素为基准,就可将第一个元素备份在变量pivot中,如图中的第①步所示。这样基准元素在数组中占据的位置就空闲出来了,因此下一步就从后向前扫描。如图中的第②步所示,找到一个比基准元素小的元素时为止,将其前移,如图中的第③步所示。然后再从前向后扫描,如图中的第④步所示,找到一个比基准元素大的元素时为止,将其后移,如图中的第⑤步所示。这样,从后向前扫描和从前向后扫描交替进行,直到扫描到同一个位置为止,如图中的第⑥步所示。由题目中给出的流程图可知,以第一个元素作为基准数,并将A[low]备份至pivot,i用于从前向后扫描的位置指示器,其初值为low,j用于从后往前扫描的位置指示器,其初值为high。当i<j时进行循环:1)从后向前扫描数组A,在i<j的情况下,如果被扫描的元素A[j]>pivot,就继续向前扫描(j--);如果被扫描的元素A[i]<pivot就停止扫描,并将此元素的值赋给目前空闲着的A[i]。2)这时,再从前向后扫描,在i<j的情况下,如果被扫描的元素A[j]<pivot,就继续向后扫描(i++);如果被扫描的元素A[j]>pivot就停止扫描,并将此元素的值赋给目前空闲着的A[j]。3)这时又接第(1)步,直到i>j时退出循环。退出循环时,将pivot赋给当前的A[i](A[i]←pivot)。递归函数的目的是执行一系列调用,直到到达某一点时递归终止。为了保证递归函数正常执行,应该遵守下面的规则:1)每当一个递归函数被调用时,程序首先应该检查基本的条件是否满足,例如,某个参数的值等于0,如果是这种情形,函数应停止递归。2)每次当函数被递归调用时,传递给函数一个或多个参数,应该以某种方式变得"更简单",即这些参数应该逐渐靠近上述基本条件。例如,一个正整数在每次递归调用时会逐渐变小,以至最终其值到达0。本题中,递归函数sort(intA[],intL,intH)有3个参数,分别表示数组A及其下界和上界。根据流程图可知,这里的L相当于流程图中的i,这里的H相当于流程图中的j。因为P()返回基准数所在数组A中的下标,也就是流程图中最后的"A[i]←pivot"中的i。根据快速排序算法,在第一趟排序后找出了基准数所在数组A中的下标,然后以该基准数为界(基准数在数组中的下标为k),把数组A分成2组,分别是A[L,…,k-1]和A[k+l,…,H],最后对这2组中的元素再使用同样的方法进行快速排序。

  • 第5题:

    在JavaScript中Array对象拥有的方法不包括()。

    • A、 sort()数组排序 
    • B、 length()计算数组长度 
    • C、 concat()数组合并 
    • D、 reverse()数组元素反转

    正确答案:B

  • 第6题:

    从队列数组队头删除数据可以使用()函数。

    • A、array_push()
    • B、array_pop()
    • C、array_shift()
    • D、array_unshift()

    正确答案:A

  • 第7题:

    向数组的最后位置增加一个新元素,可以使用pop方法。()


    正确答案:错误

  • 第8题:

    关于array_keys()函数,下面说法错误的是()。

    • A、该函数用于获取数组中元素对应的键名
    • B、当匹配结果有多个时,只返回第一个匹配的键名
    • C、函数的第一个参数表示被查询的数组
    • D、如果只传一个数组,则返回数组中所有的键

    正确答案:B

  • 第9题:

    多选题
    以下关于Array数组对象的说法不正确的是()。
    A

    对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数

    B

    reverse用于对数组数据的倒序排列

    C

    向数组的最后位置加一个新元素,可以用pop方法

    D

    unshift方法用于向数组删除第一个元素


    正确答案: C,D
    解析: 暂无解析

  • 第10题:

    判断题
    对数组里数据的排序可以用sort函数。()
    A

    B


    正确答案:
    解析: 暂无解析

  • 第11题:

    单选题
    对数组名作函数的参数,下面描述正确的是(  )。
    A

    数组名作函数的参数,调用时将实参数组复制给形参数组

    B

    数组名作函数的参数,主调函数和被调函数共用一段存储单元

    C

    数组名作参数时,形参定义的数组长度不能省略

    D

    数组名作参数,不能改变主调函数中的数据


    正确答案: B
    解析:
    数组名作为函数参数,传递的是数组的首地址,主调函数和被调函数共用一段存储单元,如果被调函数中对数组进行操作,会改变主调函数中的数据。

  • 第12题:

    ( 难度:中等)在JavaScript中( C )方法可以对数组元素进行排序
    A.add( )
    B.join( )
    C.sort( )
    D.length( )
    E.reverse()

    答案:CE

  • 第13题:

    JavaScript中哪种方法可以对数组元素进行排序()。

    A.add()

    B.join()

    C.sort()

    D.length()


    正确答案:C

  • 第14题:

    阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。

    【流程图说明】

    下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。

    【算法说明】

    将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。

    【算法】

    void sort(int Array[],int L,int H){

    if (L<H) {

    k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/

    sort((4));/*小于基准数的元素排序*/

    sort((5));/*大于基准数的元素排序*/

    }

    }


    正确答案:(1)j←j-1
    (1)j←j-1

  • 第15题:

    在JavaScript中( )方法可以对数组元素进行排序

    A.add( )

    B.join( )

    C.sort( )

    D.length( )


    正确答案:C

  • 第16题:

    在Array类中,可以对一维数组中的元素进行排序的方法是()。

    • A、Sort()
    • B、Clear()
    • C、Copy()
    • D、Reverse()

    正确答案:A

  • 第17题:

    如果你想对一个数组进行排序,排序的方式是按照元素的值从小到大排序。同时,需要在排序后保持关键字与值的对应关系。下面哪个函数实现这个功能()。

    • A、ksort()
    • B、asort()
    • C、krsort()
    • D、sort()
    • E、usort()

    正确答案:B

  • 第18题:

    对数组里数据的排序可以用sort函数。()


    正确答案:正确

  • 第19题:

    reverse用于对数组数据的倒序排列。()


    正确答案:正确

  • 第20题:

    单选题
    关于array_keys()函数,下面说法错误的是()。
    A

    该函数用于获取数组中元素对应的键名

    B

    当匹配结果有多个时,只返回第一个匹配的键名

    C

    函数的第一个参数表示被查询的数组

    D

    如果只传一个数组,则返回数组中所有的键


    正确答案: B
    解析: 暂无解析

  • 第21题:

    单选题
    在JavaScript中Array对象拥有的方法不包括()。
    A

     sort()数组排序 

    B

     length()计算数组长度 

    C

     concat()数组合并 

    D

     reverse()数组元素反转


    正确答案: B
    解析: 暂无解析

  • 第22题:

    判断题
    向数组的最后位置增加一个新元素,可以使用pop方法。()
    A

    B


    正确答案:
    解析: 暂无解析

  • 第23题:

    判断题
    reverse用于对数组数据的倒序排列。()
    A

    B


    正确答案:
    解析: 暂无解析