设已有m个元素有序,在未排好序的序列中挑选第m+1个元素,并且只经过一次元素的交换就使第m+1个元素排序到位,该方法是()。A折半排序B冒泡排序C归并排序D简单选择排序

题目
设已有m个元素有序,在未排好序的序列中挑选第m+1个元素,并且只经过一次元素的交换就使第m+1个元素排序到位,该方法是()。

A折半排序

B冒泡排序

C归并排序

D简单选择排序


相似考题
更多“设已有m个元素有序,在未排好序的序列中挑选第m+1个元素,并且只经过一次元素的交换就使第m+1个元素排序到位,该方法是()。”相关问题
  • 第1题:

    每趟排序都从序列的未排好序的序列中挑选一个值最小(或最大)的元素,然后将其与未排好序的序列的第一个元素交换位置。此种排序法称为(54)。

    A.插入排序法

    B.选择排序法

    C.希尔排序法

    D.快速排序法


    正确答案:B
    解析:选择排序方法是每一趟排序从未排序的子序列中依次取出元素与已经排好序的序列中的元素进行比较,然后将其与未排好序的序列的第一个元素交换位置。因此选B。

  • 第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题:

    对n个元素进行冒泡排序若某趟冒泡中只进行了()次元素间的交换,则表明序列已经排好序。

    A1

    B2

    C0

    Dn-1


    C

  • 第4题:

    每趟排序从未排序的子序列中依次取出元素与已经排好序的序列中元素进行比较,然后将其放在已经排好序的序列的合适位置。这种排序法称为()排序法。


    正确答案:简单选择

  • 第5题:

    每次直接或通过基准元素间接比较两个元素,若出现逆排序列时就交换它们的位置,此种排序方法叫做()排序;每次使两个相邻的有序表合成一个有序表的排列方法叫做()排序。


    正确答案:快速;归并

  • 第6题:

    排序的方法有很多种,()法从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置上。()法从未排序序列中挑选元素,并将其依次放入已排序序列的一端。交换排序是对序列中元素进行一系列比较,当被比较的两元素为逆序时,进行交换;()和()是基于这类方法的两种排序方法,而()是比()效率更高的方法;()法是基于选择排序的一种方法,是完全二叉树结构的一个重要应用。


    正确答案:插入排序;选择排序;起泡排序;快速排序;快速排序;起泡排序;堆排序

  • 第7题:

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


    正确答案:选择

  • 第8题:

    单选题
    从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称为()。
    A

    插入排序

    B

    归并排序

    C

    选择排序

    D

    交换排序


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

  • 第9题:

    填空题
    每趟排序从未排序的子序列中依次取出元素与已经排好序的序列中元素进行比较,然后将其放在已经排好序的序列的合适位置。这种排序法称为()排序法。

    正确答案: 简单选择
    解析: 暂无解析

  • 第10题:

    单选题
    关于冒泡排序算法的基本思想,下列说法正确的是()。
    A

    一个轮次一个轮次地处理。将元素分成已排序元素集合和未排序元素集合两部分。开始时已排序元素集合为空,在每一轮次,从未排序元素集合中找出最小值的元素,将其移入已排序元素集合,直到未排序元素集合为空时则算法结束

    B

    一个元素一个元素地处理。先从第一个元素处理,依次与其它元素比较后放入到正确排序的位置,再处理下一个元素,直到处理完所有元素则算法结束

    C

    一个轮次一个轮次地处理。在每一轮次中依次对待排序数组元素中相邻的两个元素进行比较,根据排序要求决定是否交换两个元素,直到某一轮次没有元素交换则算法结束

    D

    一个元素一个元素地处理。先从最后一个元素处理,依次与其它元素比较后放入到正确排序的位置,再处理下一个元素,直到处理完所有元素则算法结束


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

  • 第11题:

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

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

  • 第12题:

    填空题
    排序方法有许多种,()法从未排序的序列中依次取出元素,与已排序序列(初始时为空)中的元素作比较,将其放入已排序序列的正确位置上;()法从未排序的序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端; 交换排序方法是对序列中的元素进行一系列比较,当被比较的两元素逆序时,进行交换;()和()是基于这类方法的两种排序方法, 而()是比()效率更高的方法;()法是基于选择排序的一种排序方法,是完全二叉树结构的一个重要应用。

    正确答案: 插入排序,选择排序,起泡排序,快速排序,快速排序,起泡排序,堆排序
    解析: 暂无解析

  • 第13题:

    如果只想得到1024个元素组成的序列中第5个最小元素之前的部分排序的序列,用 ( )方法最快。

    A.冒泡排序

    B.快速排序

    C.简单选择排序

    D.堆排序


    正确答案:D
    解析:从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项D。

  • 第14题:

    设线性表有n个元素,以下操作中,在顺序表上实现比在链表上实现效率更高的是()。

    A.输出第i个元素值
    B.交换第1个元素与第2个元素的值
    C.顺序输出这n个元素的值
    D.输出与给定值x相等的元素存线性表中的序号

    答案:A
    解析:
    顺序表的一个主要特点就是可以直接存取任一指定序号的元素,输出第i个元素值时间复杂度为O(1)。B项需要开辟临时空间,CD两项的时间复杂度均为O(n);

  • 第15题:

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

    A插入排序

    B归并排序

    C选择排序

    D交换排序


    B

  • 第16题:

    设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。

    • A、n-i
    • B、n-1-i
    • C、n+1-i
    • D、不能确定

    正确答案:C

  • 第17题:

    设输入序列1、2、3、…、n经过栈作用后,输出序列中的第一个元素是n,则输出序列中的第i个输出元素是()

    • A、n-i
    • B、n-1-i
    • C、n+l-i
    • D、不能确定

    正确答案:C

  • 第18题:

    对n个元素进行冒泡排序若某趟冒泡中只进行了()次元素间的交换,则表明序列已经排好序。

    • A、1
    • B、2
    • C、0
    • D、n-1

    正确答案:C

  • 第19题:

    单选题
    设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。
    A

    n-i

    B

    n-1-i

    C

    n+1-i

    D

    不能确定


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

  • 第20题:

    填空题
    每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做()排序;每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做()排序。

    正确答案: 插入,堆
    解析: 暂无解析

  • 第21题:

    填空题
    每次直接或通过基准元素间接比较两个元素,若出现逆排序列时就交换它们的位置,此种排序方法叫做()排序;每次使两个相邻的有序表合成一个有序表的排列方法叫做()排序。

    正确答案: 快速,归并
    解析: 根据快速排序和归并排序的思想方法可以得知,这两种方法即为上述文字所对应的排序方法。

  • 第22题:

    单选题
    设已有m个元素有序,在未排好序的序列中挑选第m+1个元素,并且只经过一次元素的交换就使第m+1个元素排序到位,该方法是()。
    A

    折半排序

    B

    冒泡排序

    C

    归并排序

    D

    简单选择排序


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

  • 第23题:

    单选题
    对n个元素进行冒泡排序若某趟冒泡中只进行了()次元素间的交换,则表明序列已经排好序。
    A

    1

    B

    2

    C

    0

    D

    n-1


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

  • 第24题:

    单选题
    设输入序列1、2、3、…、n经过栈作用后,输出序列中的第一个元素是n,则输出序列中的第i个输出元素是()
    A

    n-i

    B

    n-1-i

    C

    n+l-i

    D

    不能确定


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