现有字母序列(D,W,A,J,C,Z,K,S,P),若采用快速排序的方法将这个序列按字母的升序进行重排,那么以第一个字母作为分界元素,完成第一次扫描的结果为【 】。

admin2010-05-13  16

问题 现有字母序列(D,W,A,J,C,Z,K,S,P),若采用快速排序的方法将这个序列按字母的升序进行重排,那么以第一个字母作为分界元素,完成第一次扫描的结果为【  】。

选项

答案C, A, D,J, W,Z, K, S, P

解析 根据题意,待排序的序列中的第一个字母D为关键字比较的基准。进行快速排序时,指针p2首先从后向前,寻找比D小的字母(下图中过程①),发现后将p2所指字母移到D所在的位置上(下图中过程②)。随后指针p1再从前向后,寻找比基准字母D大的字母(下图中过程③),找到后将这个字母移至指针p2指示的位置上(下图中过程④)。交替使用指针p2和p1在两个方向上进行查找,直到指针p1和p2相遇为止。此时,位于指针左侧的字母均小于基准字母D,而居于p1和p2右侧的字母均大于基准字母 D。最后将基准字母D移至p1和p2指示的位置上,第一趟扫描就此宣告结束。
转载请注明原文地址:https://jikaoti.com/ti/p7C7FFFM
0

最新回复(0)