更多“9、对数组data的元素从小到大排列”相关问题
  • 第1题:

    对n个不同的关键字由小到大进行冒泡排序,在下列()情况下比较的次数最多。

    A.从小到大排列好的

    B、从大到小排列好的

    C.元素无序

    D、元素基本有序


    参考答案:B
    解释:对关键字进行冒泡排序,关键字逆序时比较次数最多。

  • 第2题:

    阅读以下说明和流程图,填补流程图中的空缺(1)~(9),将解答填入对应栏内。

    【说明】

    假设数组A中的各元素A(1),A(2),…,A(M)已经按从小到大排序(M≥1);数组B中的各元素B(1),B(2),…,B(N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素:2,5, 6,7,9;数组B中有元素2,3,4,7:则数组C中将有元素:2,2,3,4,5,6,7, 7, 9。

    【流程图】


    正确答案:(1)1 (2)A(i) (3)B(j) (4)i (5)j (6)B(j) (7)A(i) (8)j (9)i
    (1)1 (2)A(i) (3)B(j) (4)i (5)j (6)B(j) (7)A(i) (8)j (9)i 解析:这是最常见的一种合并排序方法。为对较大的序列进行排序,先将其分割成容量相当的几个部分,分别进行排序,最后再合并在一起。当然,这些排序要么都是升序,要么都是降序。本题全部是按升序排序的。
    例如,为了将整副扑克牌按升序进行排序,先将其分割成两个部分(数量大致相当),对每个部分完成升序排序后,就形成了两叠已排序的牌。如何将其合并呢?办法如下。
    每次都比较各叠最上面的两张牌,取出比较小的,放入新堆,再继续比较。直到其中一堆空了,就将另一堆剩余的牌逐张放入新堆。新堆就是合并后的已完成排序的序列。
    在数据排序时,遇到相同的数比较时,任取一个就可以了。
    对本题来说,i、j、k是数组A、B、C的下标,初始时,都应该是1。因此,空(1)处应填写1。
    将A(i)与B(j)进行比较后,如果A(i)≤B(j),那么应该将A(i)→C(k)。这是升序的要求。因此,空(2)处应填A(i)。如果A(i)>B(j),则应将B(j)→C (k)。因此,空(3)处应填B(j)。
    在A(i)→C(k)后,i应增加1,为下次取A(i)再比较做准备(k也需要增加1,为下次存入C(k)做准备)。这时,需要比较数组A是否已经取完,即判断i>M是否成立。如果i>M,则表示数组A中的元素已经全部取出,需要将数组B中剩余的元素逐个移入C(k)。因此,空(4)处应填i,空(6)处应填B(j)。数组B处的元素何时移完呢?这就需要判断i>N是否成立。因此,空(8)处应填j。
    同样,空(3)处将B(j)存入C(k),直到,j>N时数组B中的元素取完。此时,需要将数组A中剩余的元素逐个移入C(k),直到i>M时全部完成。因此,空(5)处应填j,空(7)处应填A(i),空(9)处应填i。

  • 第3题:

    本题的功能是用冒泡法对数组元素arr[]={30,1,-9,70)进行从小到大排列。冒泡法排序是比较相邻的两个元素的大小,然后把小的元素交换到前面。

    public class javal{

    public static void main(String[]args){

    int i,j;

    int arr[]={30,1,-9,70);

    int n= ;

    for(i=0;i<;n-1;i++){

    for(j=i+1;j<;n;j++){

    if(arr[i]>;arr[j]){

    int temp=arr[i];

    }

    }

    }

    for(i=0;i<;n;i++)

    System.out.print(arr[i]+"");

    }

    }


    正确答案:
    第1处:arr.length第2处:arr[]=arr[j]第3处:arr[j]=temp【解析】第1处从下面的循环结构可看出n的值应为数组的大小;第2处和第3处是借助临时变量把小的元素交换到前面。

  • 第4题:

    试题一(共 15 分)

    阅读以下说明和流程图,填补流程图中的空缺(1)~(9) ,将解答填入答题纸的对应栏内。

    [说明]

    假设数组 A 中的各元素 A(1),A(2) ,…,A(M)已经按从小到大排序(M≥1) ;数组 B 中的各元素 B(1),B(2),…,B(N)也已经按从小到大排序(N≥1) 。执行下面的流程图后, 可以将数组 A 与数组 B 中所有的元素全都存入数组 C 中, 且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序) 。例如,设数组 A 中有元素:2,5,6,7,9;数组B 中有元素:2,3,4,7;则数组 C 中将有元素:2,2,3,4,5,6,7,7,9。

    [流程图]


    正确答案:

  • 第5题:

    列表对象的排序方法sort()只能按元素从小到大排列,不支持别的排序方式。


    正确答案:错误

  • 第6题:

    对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多?()

    • A、从小到大排列好的
    • B、从大到小排列好的
    • C、元素无序
    • D、元素基本有序

    正确答案:B

  • 第7题:

    若有以下数组a,数组元素:a[0]~a[9],其值为   9  4  12  8  2  10  7  5  1  3  该数组可用的最小下标值是()


    正确答案:0

  • 第8题:

    冒泡排序(BubbleSort)如果一个数组有10个元素,那么要从小到大排列,利用冒泡排序法需要几趟比较过程()

    • A、10次
    • B、8次
    • C、7次
    • D、9次

    正确答案:D

  • 第9题:

    如果从小到大排列列表的元素,可以使用()方法实现。


    正确答案:sort

  • 第10题:

    数组元素所占用的内存位于()  

    • A、数据区(Data)
    • B、代码区(Code)
    • C、堆(Heap)
    • D、堆栈(Stack)

    正确答案:C

  • 第11题:

    填空题
    如果从小到大排列列表的元素,可以使用()方法实现。

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

  • 第12题:

    单选题
    对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多?()
    A

    从小到大排列好的

    B

    从大到小排列好的

    C

    元素无序

    D

    元素基本有序


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

  • 第13题:

    若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址SXB

    若有定义int a[9],+P=a;,则P+5表示( )。

    A.数组元素a[5]的值

    B.数组元素a[5]的地址

    C.数组元素a[6]的地址

    D.数组元素a[0]的值加上5


    正确答案:B
    本题考查了通过指针来引用一维数组元素的方法。题中*P=a;这一赋值语句是指针P指向了数组a的首地址,P+5是指针P向后移动了5个int类型的存储单元,所以P+5指向了数组元素a[5]。

  • 第14题:

    ●用插入排序和归并排序算法对数组<3,1,4,1,5,9,6,5>进行从小到大排序,则分别需要进行 (65) 次数组元素之间的比较。

    (65)

    A.12,14

    B.10,14

    C.12,16

    D.10,16


    正确答案:A

  • 第15题:

    阅读下面程序,则程序段的功能是 #include"stdio.h" main() { int c[]={23,1,56,234,7,0,34},i,j,t; for(i=1;i<7;i++) { t=c[i];j=i-1; while(j>=0 && t>c[j]) { c[j+1]=c[j];j--;} c[j+1]=t;} for(i=0;i<7;i++) printf("%d",c[i]); putchar('\n');}

    A.对数组元素的升序排列

    B.对数组元素的降序排列

    C.对数组元素的倒序排列

    D.对数组元素的随机排列


    正确答案:B
    解析:读懂两个循环的关系,是解这个题目的关键,本题的第一个for循环的作用是实现对数组元素的遍历,第二个循环的作用是排序。while(j>=0&&t>c[j]),这个语句是控制排序的关键语句,它即实现了比较两个元素大小的作用,又实现了元素向后移动的作用,不断地把大的数据向前移动,直到找到一个比它小的,或到数据的上界为止。

  • 第16题:

    阅读下列说明和流程图,填补流程图中的空缺(1)~(9),将解答填入答题纸的对应栏内。【说明】假设数组A中的各元素A⑴,A (2),…,A (M)已经按从小到大排序(M>1):数组B中的各元素B(1) , B (2) . B (N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序(注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素: 2,5,6,7,9;数组B中有元素: 2,3,4,7;则数组C中将有元素: 2,2,3,4,5,6,7,7,9.


    答案:
    解析:
    (1)1 (2)A (i) (3) B (j)⑷ i (5)J(6) B (j)(7) A (i)(8) j(9) i

  • 第17题:

    若有以下数组a,数组元素:a[0]~a[9],其值为 9  4  12  8  2  10  7  5  1  3   该数组的元素中,数值最大的元素的下标值是()


    正确答案:2

  • 第18题:

    15.循环队列采用数组data()来存储元素的值,并用front和rear分别作为其头尾指针。为区分队列的满和空,约定队列中能够存放的元素个数最大为n—1,也即至少有一个元素空间不用,则在任意时刻,至少可以知道一个空的元素的下表是()。入队时,可用语句()切除新元素在数组data中的下标。


    正确答案:front;rear=rear+1;mod n

  • 第19题:

    若有以下数组a,数组元素:a[0]~a[9],其值为 9  4  12  8  2  10  7  5  1  3  该数组中下标最大的元素的值是()


    正确答案:3

  • 第20题:

    冒泡排序算法中降序排序指的是()

    • A、从高到低排列数组元素值
    • B、从低到高排列数组元素的值
    • C、由横向到纵向排列数组元素的值
    • D、由纵向到横向排列数组元素的值

    正确答案:A

  • 第21题:

    执行命令″DECLARE DG(9,11)″后,与数组元素DG(7,9)等价的一维数组元素是()。

    • A、DG(75)
    • B、DG(86)
    • C、DG(72)
    • D、DG(88)

    正确答案:A

  • 第22题:

    判断题
    列表对象的排序方法sort()只能按元素从小到大排列,不支持别的排序方式。
    A

    B


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

  • 第23题:

    单选题
    将数组{8,23,4,16,77,-5,53,100}中的元素按从小到大的顺序排列,每次可以交换任意两个元素,最少需要交换()次。
    A

    4

    B

    5

    C

    6

    D

    7


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

  • 第24题:

    单选题
    针对数组定义int data[10];,下列表述中错误的是(  )。
    A

    用*data可访问到数组的首元素

    B

    用data[9]可访问到数组的末元素

    C

    用data[10]访问数组元素会超出数组边界

    D

    data共有10个元素,其首元素是data[1]


    正确答案: D
    解析:
    题目中data[10]共有10个元素,分别是data[0]、data[1]、 data[2]、data[3]…data[9],首元素是data[0]。