更多“在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为 ( )A.iB.i+1C.n-iD.n-i+1”相关问题
  • 第1题:

    若对n个元素进行直接插入排序,则进行第i趟排序过程前,有序表中的元素个数为______。

    A.1

    B.11

    C.i

    D.i+l


    正确答案:C

  • 第2题:

    第二题 阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
    【说明】
    对n个元素进行简单选择排序的基本方法是:第一趟从第1个元素开始,在n个元素中选出最小者,将其交换至第一个位置,第二趟从第2个元素开始,在剩下的n-1个元素中选出最小者,将其交换至第二个位置,依此类推,第i趟从n-i+1个元素中选出最小元素,将其交换至第i个位置,通过n-1趟选择最终得到非递减排序的有序序列。 问题:2.1 【代码】
    #include
    void selectSort(int data[ ],int n)
    //对 data[0]~data[n-1]中的n个整数按非递减有序的方式进行排列
    {
    int i,j,k;
    int temp;
    for(i=0;i for(k=i,j=i+1;(1);(2)) //k表示data[i]~data[n-1]中最小元素的下标
    if(data[j] if(k!=i) {
    //将本趟找出的最小元素与data[i]交换
    temp=data[i]; (4) ;data[k]=temp;
    }
    }
    }

    int main()
    {
    int arr[ ]={79,85,93,65,44,70,100,57};
    int i,m;
    m=sizeof(arr)/sizeof(int); //计算数组元素的个数,用m表示
    (5); //调用selectSort对数组arr进行非递减排序
    for((6);i printf(“%d\t”,arr[i]);
    printf(“\n”);
    return 0;
    }


    答案:
    解析:
    j(2)j++
    (3)k=j
    (4)data[i]=data[k]
    (5)selectSort(arr,m)此处m也可以填8或者sizeof(arr)/sizeof(int), arr可以改成&arr[0]
    (6)i=0

    【解析】

    本题考查 C 程序设计基本技能及应用。简单选择排序方法是设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟后就完成了记录序列的排序。
    第1空应填j循环结束条件,j应该运行至序列末尾。填j第2空填j循环控制语句,j每次递增1,往后移动一个元素与a[i]进行比较。
    第3空为自动保存最大元素的下标,k=j。
    第4空为交换两个元素,temp为临时变量,保存data[i]的值,使用data[i]=data[k]使data[i]为后面n-i+1个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,再将temp赋给data[k]。
    第5空为调用selectSort对数组arr进行非递减排序,selectSort有两个参数,数组和排序元素个数,为selectSort(arr,m)。
    第6空进行元素遍历输出所有的数组元素,从下标为0开始,所以填i=0。

  • 第3题:

    排序算法的稳定性是指( )。

    A.经过排序后,能使关键字相同的元素保持原顺序中的相对位置不变
    B.经过排序后,能使关键字相同的元素保持原顺序中的相对位置改变
    C.排序算法的性能与被排序元素个数关系不大
    D.排序算法的性能与被排序元素个数关系密切

    答案:A
    解析:
    排序算法的稳定性是指排序后关键字相同的元素保持原顺序中的相对位置不变。

  • 第4题:

    用快速排序算法对序列45,35,65,97,78,13,27进行排序。 (每一趟排序以第一个元素为数轴。要求每一趟排序有完整的过程。)


    正确答案: 第一趟:27,35,65,97,78,13,45;27,35,45,97,78,13,65;27,35,13,97,78,45,65;
    27,35,13,45,78,97,65;
    第二趟:13,35,27,45,78,97,65;13,27,35,45,78,97,65;
    第三趟:13,27,35,45,65,97,78;13,27,35,45,65,78,95;

  • 第5题:

    对于n个元素构成的降序顺序线性表,采用冒泡排序按照关键字升序排列时共需进行()趟排序。


    正确答案:n-1

  • 第6题:

    排序方法中,从无序序列中选择关键字最小的记录,将其与无序区(初始为空)的第一个记录交换的排序方法,称为()。

    • A、希尔排序
    • B、归并排序
    • C、插入排序
    • D、选择排序

    正确答案:D

  • 第7题:

    若对n个元素进行直接插入排序,则进行第i趟排序过程前,有序表中的元素个数为()

    • A、1
    • B、i-1
    • C、i
    • D、i+l

    正确答案:C

  • 第8题:

    在对n个元素进行冒泡排序的过程中,第一趟排序至多需要进行()对相邻元素之间的交换。

    • A、 n/2
    • B、 n-1
    • C、 n
    • D、 n+1

    正确答案:B

  • 第9题:

    若对n个元素进行直接插入排序,则进行第i趟排序时,为寻找插入位置最多需要进行()次元素的比较,假定第0号元素放有待查的关键字。

    • A、1
    • B、i-1
    • C、i+1

    正确答案:C

  • 第10题:

    单选题
    排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子序列的适当位置,直到全部排好序为止,该排序算法是()。
    A

    直接插入排序

    B

    快速排序

    C

    冒泡排序

    D

    选择排序


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

  • 第11题:

    填空题
    对于n个元素构成的降序顺序线性表,采用冒泡排序按照关键字升序排列时共需进行()趟排序。

    正确答案: n-1
    解析: 暂无解析

  • 第12题:

    单选题
    排序方法中,从无序序列中选择关键字最小的记录,将其与无序区(初始为空)的第一个记录交换的排序方法,称为()。
    A

    希尔排序

    B

    归并排序

    C

    插入排序

    D

    选择排序


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

  • 第13题:

    在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是(1)。

    从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为(2)。设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用(3)排序法。

    A.希尔排序

    B.起泡排序

    C.插入排序

    D.选择排序


    正确答案:D

  • 第14题:

    下列排序算法中,()每一趟都能选出一个元素放在最终位置上,并且是不稳定的

    A.冒泡排序
    B.希尔排序
    C.直接选择排序
    D.直接插入排序

    答案:C
    解析:
    起泡排序和选择排序一趟排序后,在序列两端应该有最大或最小值。直接选择排序是不稳定的。

  • 第15题:

    排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子序列的适当位置,直到全部排好序为止,该排序算法是()。

    A直接插入排序

    B快速排序

    C冒泡排序

    D选择排序


    A

  • 第16题:

    在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是__(1)__。从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为__(2)__。设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用__(3)__排序法。空白(1)处应选择()

    • A、希尔排序
    • B、起泡排序
    • C、插入排序
    • D、选择排序

    正确答案:D

  • 第17题:

    若对n个元素进行直接插入排序,在进行第i趟排序时,假定元素r[i+1]的插入位置为r[j],则需要移动元素的次数为()。

    • A、 j-i
    • B、 i-j-1
    • C、 i-j
    • D、 i-j+1

    正确答案:D

  • 第18题:

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

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

    正确答案:B

  • 第19题:

    在对n个元素进行简单选择排序的过程中,需要进行()趟选择和交换。

    • A、 n
    • B、 n+1
    • C、 n-1
    • D、 n/2

    正确答案:C

  • 第20题:

    每一趟排序时从排好序的元素中挑出一个值最小的元素与这些未排小序的元素的第一个元素交换位置,这种排序方法成为()排序法。


    正确答案:选择

  • 第21题:

    单选题
    若对n个元素进行直接插入排序,则进行第i趟排序时,为寻找插入位置最多需要进行()次元素的比较,假定第0号元素放有待查的关键字。
    A

    1

    B

    i-1

    C

    i+1


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

  • 第22题:

    单选题
    若对n个元素进行直接插入排序,则进行第i趟排序过程前,有序表中的元素个数为()
    A

    1

    B

    i-1

    C

    i

    D

    i+l


    正确答案: B
    解析: 在直接排序的操作中,当i=l时,排序实际上是一个空操作。所以,操作的过程从i=2开始,当进行第i趟操作时,有序表中已经有i个元素了。

  • 第23题:

    单选题
    在对n个元素进行冒泡排序的过程中,第一趟排序至多需要进行()对相邻元素之间的交换。
    A

     n/2

    B

     n-1

    C

     n

    D

     n+1


    正确答案: A
    解析: 本题要求至多需要的次数。分析可知,当第一个需要比较的元素为该待排序列中关键字最大的元素时,进行元素交换的次数最多,即n-1次。