给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描一趟后的结果是?

你知我知 1年前 已收到1个回答 举报

qiumike 幼苗

共回答了15个问题采纳率:100% 举报

以下上下对应
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]=24
结果:22 19 32 43 38 6 13 24
第二次从前往后搜,A[1]A[7],变换,32 24对换,A[2]=24,A[7]=32,KEY=A[2]=24
结果:22 19 24 43 38 6 13 32
第三次从后往前搜,A[2]>A[6],变换,24 13对换,A[2]=13,A[6]=24,KEY=A[6]=24
结果:22 19 13 43 38 6 24 32
第四次从前往后搜,A[3]>A[6],变换,43 24对换,A[3]=24,A[6]=43,KEY=A[3]=24
结果:22 19 13 24 38 6 43 32
第五次从后往前搜,A[3]>A[5],变换,24 6对换,A[3]=6,A[5]=24,KEY=A[5]=24
结果:22 19 13 6 38 24 43 32
第六次从后往前搜,A[4]>A[5],变换,38 24对换,A[4]=24,A[5]=38,KEY=A[4]=24
结果:22 19 13 6 24 38 43 32
即最终排序结果为:22 19 13 6 24 38 43 32
之后对24两边的子集分别按以上方法排序{22 19 13 6} 24 {38 43 32}

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.025 s. - webmaster@yulucn.com