校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 冒泡排序
题目

设一组初始记录关键字序列(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是()

A.F,H,C,D,P,A,M,Q,R,S,Y,X

B.P,A,C,S,Q,D,F,X,R,H,M,Y

C.A,D,C,R,F,Q,M,S,Y,P,H,X

D.H,C,Q,P,A,M,S,R,D,F,X,Y

解答

正确答案是 D

Q , H , C , Y , P , A , M , S , R , D , F , X
一趟冒泡排序,是将“大的”字母沉底
首先:Q与H比较
H,Q,C,Y,P,A,M,S,R,D,F,X
然后Q与C比较
HCQYPAMSRDFX
Q与Y比较,Q不同,
之后Y与P比较,接下来的比较是:
H,C,Q,P,Y,A,M,S,R,D,F,X
H,C,Q,P,A,Y,M,S,R,D,F,X
H,C,Q,P,A,M,Y,S,R,D,F,X
H,C,Q,P,A,M,S,Y,R,D,F,X
H,C,Q,P,A,M,S,R,Y,D,F,X
H,C,Q,P,A,M,S,R,D,Y,F,X
H,C,Q,P,A,M,S,R,D,F,Y,X
H,C,Q,P,A,M,S,R,D,F,X,Y
至此,一趟冒泡排序完成。
所以选择D选项。
C 8条回复 评论
米线还有吗

哇塞,果然还是学习是最重要的。

发表于 2021-09-12 09:55:00
0 0
dana

冒泡排序就是两两交换,没什么好说的,但是注意冒泡排序是稳定排序,所以当后面等于前面的时候,不发生交换

发表于 2018-12-25 12:11:20
0 1
dana

冒泡排序就是两两交换,没什么好说的,但是注意冒泡排序是稳定排序,所以当后面等于前面的时候,不发生交换

发表于 2018-12-25 12:11:18
0 0
落地98K

1.按字母升序的第一趟冒泡排序结束后最后一个单词应该是Y。
2.H和C应该交换位置。

发表于 2018-10-13 14:52:13
0 0
星辰大海

选D。根据题目的意思,这题既可以从前往后进行冒泡排序,也可从后往前进行冒泡排序

第一趟排序后,结果有以下4种情况:
(1)从前往后冒泡排序,按升序排列:H C Q P A M S R D F X Y
(2)从前往后冒泡排序,按降序排列:Q H Y P C M S R D F X A
(3) 从后往前冒泡排序,按升序排列:A Q H C Y P D M S R F X
(4) 从后往前冒泡排序,按降序排列:Y Q H C X P A M S R D F

有不对的地方希望大家多指正

发表于 2018-10-13 14:52:03
0 0
改造家

冒泡排序第一趟必定使得最大的元素交换到数组的尾部,可以排除A,C选项
前两个字母比较,H<Q,发生交换,所以数组第一个字母必定是H,可以选出D选项

发表于 2018-12-25 12:10:30
0 1
站桩灵

第一趟冒泡:从数组第一个元素到最后一个元素扫描,比较相邻的元素,如果后一个元素小于前一个,则交换位置。第一趟结束时,最大元素到达最后一个元素位置

发表于 2018-12-25 12:10:28
0 1
老干妈拌面

冒泡排序不是从后往前比较吗?这样才叫冒泡啊,小的元素从后面冒到前面去!

发表于 2018-12-25 12:10:27
0 1