假定一组记录为(46,79,56,38,40,84),在冒泡排序的过程中进行第一趟排序后的结果为()

题目

假定一组记录为(46,79,56,38,40,84),在冒泡排序的过程中进行第一趟排序后的结果为()

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

一组记录的的序列(46,79,56,38,40,84),则利用冒泡排序的方法,经过()轮排序,序列变为有序的。

A、1

B、2

C、3

D、4


参考答案:D

第2题:

冒泡排序在一趟排序中没有记录交换,则说明记录已经有序,停止排序。


正确答案:正确

第3题:

对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结束时的结果如下:第一趟为13,72,68,49,50,97,27;第二趟为13,27,68,49,38,50,97,72;第三趟为13,27,38,49,68,50,97, 72。该排序采用的方法是______。

A.插入排序法

B.选择排序法

C.冒泡排序法

D.快速排序法


正确答案:B
解析:简单选择排序法的思想是:扫描整个线性表,从中选出最小(或最大)的元素,将它交换到表的最前面,然后对剩下的子表采用同样的方法,直到子表空为止。从序列变化情况可以看出,第一趟是找出最小元素13,第二趟是找出次小元素27,第三趟是找出第三小元素38,这是典型的简单选择排序法。

第4题:

假定一组记录为(46,79,56,38,40,80,46,75,28,46),对其进行归并排序的过程中,供需要()趟完成。


正确答案:4

第5题:

30个记录的序列进行冒泡排序,则有可能()。

  • A、29次比较就完成排序
  • B、进行29趟排序才结束排序
  • C、不能完成排序
  • D、可能10趟就结束了排序

正确答案:A,B,D

第6题:

对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结果时的结果依次为第一趟:49,72,68,13,38,50,97,27;第二趟:49,68,72,13,38,50,97,27;第三趟:13,49,68,72,38,50,97,27。该排序采用的方法是()。

A选择排序法

B冒泡排序法

C插入排序法

D堆积排序法


C

第7题:

数据结构与算法里,30个记录进行冒泡排序,使用未改进的冒泡排序,则需要()趟排序才能完成排序。

  • A、29
  • B、30
  • C、28
  • D、27

正确答案:A

第8题:

有n个记录存储在带头结点的双向链表中,现用双向冒泡排序法对其按上升序进行排序,请写出这种排序的算法。(注:双向冒泡排序即相邻两趟排序向相反方向冒泡)。


参考答案:
  [算法描述]:
  typedef struct node
  { ElemType data;
  struct node *prior,*next;
  }node,*DLinkedList;
  void TwoWayBubbleSort(DLinkedList la)
  //对存储在带头结点的双向链表la中的元素进行双向起泡排序。
  {int exchange=1; // 设标记
  DLinkedList p,temp,tail;
  head=la //双向链表头,算法过程中是向下起泡的开始结点
  tail=null; //双向链表尾,算法过程中是向上起泡的开始结点
  while (exchange)
  {p=head->next; //p是工作指针,指向当前结点
  exchange=0; //假定本趟无交换
  while (p->next!=tail) // 向下(右)起泡,一趟有一最大元素沉底
  if (p->data>p->next->data) //交换两结点指针,涉及6条链
  {temp=p->next; exchange=1;//有交换
  p->next=temp->next;temp->next->prior=p //先将结点从链表上摘下
  temp->next=p; p->prior->next=temp; //将temp插到p结点前
  temp->prior=p->prior; p->prior=temp;
  }
  else p=p->next; //无交换,指针后移
  tail=p; //准备向上起泡
  p=tail->prior;
  while (exchange && p->prior!=head)
  //向上(左)起泡,一趟有一最小元素冒出
  if (p->dataprior->data) //交换两结点指针,涉及6条链
  {temp=p->prior; exchange=1; //有交换
  p->prior=temp->prior;temp->prior->next=p;
  //先将temp结点从链表上摘下
  temp->prior=p; p->next->prior=temp; //将temp插到p结点后(右)
  temp->next=p->next; p->next=temp;
  }
  else p=p->prior; //无交换,指针前移
  head=p; //准备向下起泡
  }// while (exchange)
  } //算法结束

第9题:

对一组初始关键字序列(40,50,95,20,15,70,60,45,10)进行冒泡排序,则第一趟需要进行相邻记录的比较的次数为(),在整个排序过程中最多需要进行()趟排序才可以完成。


正确答案:8;8

第10题:

假定一组记录为(46,79,56,38,40,80,46,75,28,46),对其进行归并排序的过程中,第二趟归并后的子表个数为()


正确答案:3

更多相关问题