设初始序列为5,7,4,3,8,6,从后往前冒泡,则只想第一趟冒泡排序算法后得到序列为

作者&投稿:农桦 (若有异议请与网页底部的电邮联系)
设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是~

D
冒泡排序算法的运作如下:(从后往前)
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

答案是B。

分析:
开始时,枢纽是7,low=[0],high=[6]。

第一次赋值后是5,2,8,6,3,10,5,枢纽是7,low=[0],high=[6]。

第二次赋值后是5,2,8,6,3,10,8,枢纽是7,low=[2],high=[6]。

第三次赋值后是5,2,3,6,3,10,8,枢纽是7,low=[2],high=[4]。

最后是5,2,3,6,3,10,8,low=[4],high=[4],把枢纽7赋给[4]后是5,2,3,6,7,10,8。

所以答案是B。

从后往前冒泡,如果是要从小到大排,8比6大这个比较最先出现,6 8交换位置,接着3,4被发现不符合排序规则,所以3,4交换位置,然后发现3<7,交换位置,然后和5交换,所以第一趟之后就是3,5,7,4,6,8。

例如:

已知序列{8,7,4,6,5,2,3,1,9},冒泡排序法对序列进行从小到大排序过程为:

{8,7,4,6,5,2,3,1,9}

={7,4,6,5,2,3,1,8,9}

={4,6,5,2,3,1,7,8,9}

={4,5,2,3,1,6,7,8,9}

={4,2,3,1,5,6,7,8,9}

扩展资料

冒泡排序的基本思想是,首先将第1个和第2个记录的关键字比较大小,如果是逆序的,就将这两个记录进行交换,再对第2个和第3个记录的关键字进行比较,依次类推,重复进行上述计算,直至完成第(n一1)个和第n个记录的关键字之间的比较。

此后,再按照上述过程进行第2次、第3次排序,直至整个序列有序为止。排序过程中要特别注意的是,当相邻两个元素大小一致时,这一步操作就不需要交换位置,因此也说明冒泡排序是一种严格的稳定排序算法,它不改变序列中相同元素之间的相对位置关系。



从后往前冒泡,如果是要从小到大排,8比6大这个比较最先出现,6 8交换位置,接着3,4被发现不符合排序规则,所以3,4交换位置,然后发现3<7,交换位置,然后和5交换,所以第一趟之后就是3,5,7,4,6,8。

例如:

已知序列{8,7,4,6,5,2,3,1,9},冒泡排序法对序列进行从小到大排序过程为:

{8,7,4,6,5,2,3,1,9}

={7,4,6,5,2,3,1,8,9}

={4,6,5,2,3,1,7,8,9}

={4,5,2,3,1,6,7,8,9}

={4,2,3,1,5,6,7,8,9}

扩展资料:

冒泡排序算法的原理如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

参考资料来源:百度百科-冒泡排序



从后往前冒泡,如果你是要从小到大排,8比6大这个比较最先出现,6 8交换位置,接着3,4被发现不符合排序规则,所以3,4交换位置,然后发现3<7,交换位置,然后和5交换,所以第一趟之后就是3,5,7,4,6,8

看你是升序还是降序,升序的话,第一趟跑完之后,3在前面。注意控制数组的下标,判断符合条件的时候,调换这两个值在数组中的位置,然后执行下一个循环。


设初始序列为5,7,4,3,8,6,从后往前冒泡,则只想第一趟冒泡排序算法后得到...
例如:已知序列{8,7,4,6,5,2,3,1,9},冒泡排序法对序列进行从小到大排序过程为:{8,7,4,6,5,2,3,1,9} ={7,4,6,5,2,3,1,8,9} ={4,6,5,2,3,1,7,8,9} ={4,5,2,3,1,6,7,8,9} ={4,2,3,1,5,6,7,8,9...

设初始序列为5,7,4,3,8,6,从后往前冒泡,则只想第一趟冒泡排序算法后得到...
例如:已知序列{8,7,4,6,5,2,3,1,9},冒泡排序法对序列进行从小到大排序过程为:{8,7,4,6,5,2,3,1,9} ={7,4,6,5,2,3,1,8,9} ={4,6,5,2,3,1,7,8,9} ={4,5,2,3,1,6,7,8,9} ={4,2,3,1,5,6,7,8,9...

数据结构问题 给出如下关键字序列321,156,57,46,28,7,331,33,3
初始序列:321, 156, 057, 046, 028, 007, 331, 033, 034, 063 第一趟按个位分配到各个队列,收集后的结果:028, 057, 007, 156, 046, 034, 033, 063, 321, 331 第二趟按十位分配到各个队列,收集后的结果:063, 057, 156, 046, 034, 033, 331, 028, 321, 007 第三趟按百位...

这道数据结构题怎么做?
5)、重复第3、4步,直到I=J;例如:待排序的数组A的值分别是:(初始关键数据X:=49)A[1] A[2] A[3] A[4] A[5] A[6] A[7]:49 38 65 97 76 13 27 进行第一次交换后: 27 38 65 97 76 13 49 ( 按照算法的第...

什么是初始序列?如何构造?
1,3,5,9,7,12 1. 初始序列构造的堆为:7 3 5 9 1 12 此时依据该序列进行自下而上的建堆过程:(1) 7 1 5 9 3 12 (2) 1 3 5 9 7 12

C语言冒泡排序。
void main(){ int a[10];int i,j,t;printf("input 10 numbers:\\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(j=0;j<9;j++) \/*进行9次循环 实现9趟比较*\/ for(i=0;i<9-j;i++) \/*在每一趟中进行9-j次比较*\/ if(a[i]>a[i+1]) \/*相邻两个数比较,想降序...

求数据结构(用面向对象方法与C++语言描述)第二版 殷人昆主编 课后答案...
ASLunsucc=(2+8+7+6+5+4+3+2)\/8=37\/8第九章 排序1、以关键字序列(503,087,512,061,908,170,897,275,653,426)为例,手工执行以下排序算法,写出每一趟派结束时的关键字状态。(1)直接插入排序(2)希尔排序(增量序列为5,3,1)(3)快速排序(4)堆排序(5)归并排序解:(1)略(2)增量为5的排序结果:...

C语言设一组初始记录关键字序列(7,2,8, 6,3,10, 5),以第一个关键字7...
答案是B。分析:开始时,枢纽是7,low=[0],high=[6]。第一次赋值后是5,2,8,6,3,10,5,枢纽是7,low=[0],high=[6]。第二次赋值后是5,2,8,6,3,10,8,枢纽是7,low=[2],high=[6]。第三次赋值后是5,2,3,6,3,10,8,枢纽是7,low=[2],high=[4]。最后...

自然数是哪些数
自然数的定义非常直接,它们包括从初始的0开始,一直延伸到无限的整数序列。这些数列中的每一个数字都可以被清晰地表示为1, 2, 3, 4, 5, 6, 7, 8, 9,以此类推。值得注意的是,自然数中的0虽然在概念上被包括在内,但它具有特殊的地位。它不仅是数列的第一个成员,而且是基数的一部分,标志...

设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行...
关键字序列(5,2,6,3,8)排序流程为:(5,2,6,3,8)=(3,2,6,5,8)=(3,2,5,6,8)快速排序的基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程...

科尔沁左翼后旗18273508545: 设初始序列为5,7,4,3,8,6,从后往前冒泡,则只想第一趟冒泡排序算法后得到序列为 -
员肃露疏: 从后往前冒泡,如果你是要从小到大排,8比6大这个比较最先出现,6 8交换位置,接着3,4被发现不符合排序规则,所以3,4交换位置,然后发现3

科尔沁左翼后旗18273508545: 设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( ).(A) 2,3,5,8,6 (B) 3,2,5,8,6(C) 3,2,5,6,8 (D) 2,3,6,5,... -
员肃露疏:[答案] 先将基准5用一个中间变量保存,接着用前后两个标志,一个从前往后,另外一个从后往前,下面循环步骤执行的前提是前标志的位置小于后标志的位置首先从后往前,如果找到第一个比5小的关键字(现在就是3),就放到5原来的位置...

科尔沁左翼后旗18273508545: 数据结构试题4、已知待排序列以下,利用二路归并排序进行按小到大排序,除了最终结果外,要求写出每一趟排序的结果.初始序列为:[8] [4] [5] [6] [2] [1] [7] ... -
员肃露疏:[答案] 1、 4 8 5 6 1 2 3 7 2、 4 5 6 8 1 2 3 7 3、 1 2 3 4 5 6 7 8

科尔沁左翼后旗18273508545: 用归并排序算法对序列1,2,6,4,5,3,8,7进行排序,共需要进行()次比较 -
员肃露疏: 假设是按照升序排列: 分为{1,2},{6,4},{5,3},{8,7} 对比后:{1,2},{4,6},{3,5},{7,8},次数4 对比后:{1,2,4,6},{3,5,7,8},次数4,因为4大于1,2因此不需要比较6 对比后:{1,2,3,4,5,6,7,8},次数6 总共是14

科尔沁左翼后旗18273508545: 数据结构 阿里笔试题 设一组初始记录关键字序列为(4,1,7,6,3,2,5),则根据这些记录关键字构造的二叉排序 树的平均查找长度约为 - . -
员肃露疏:[选项] A. 1.7 B. 1.8 C. 1.9 D. 2.0 E.2.1 F.2.2 求各位大神详解

科尔沁左翼后旗18273508545: 给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描一趟后的结果是? -
员肃露疏:[答案] 以下上下对应A[0] 、 A[1]、 A[2]、 A[3]、 A[4]、 A[5]、 A[6]、A[7]:24 19 32 43 38 6 13 22初始关键数据KEY=A[0]=24,第一轮排序中一直不变第一次从后往前搜,A[0]>A[7],变换,24 22对换,A[0]=22,A[7]=24,KEY=A[7]=...

科尔沁左翼后旗18273508545: 编写程序对无序序列5 1 7 3 1 6 9 4 2 8 6进行冒泡排序. -
员肃露疏: #include <sdio.h>#include <mth.h> void main() { int array[10]={5,1,7,3,1,6,9,4,2,8,6} int i; for(i=0;i<10;i++) printf("%5d",array[i]); printf("\n"); sortArry(array,10); for(i=0;i<10;i++) printf("%5d",array[i]); } void sortArry(int a[],int n) { int i,j,t; for(i=0;i<...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网