设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( )。
设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。(A)2,3,5,8,6(B)3,2,5,8,6(C)3,2,5,...
设一组初始记录关键字序列(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,8 我需要详细的步骤和原理。刚学写这东西,还冒咋搞懂,谢谢了。
要是你能再举几个例子更好了。谢谢了。 展开
(A) 2,3,5,8,6 (B) 3,2,5,8,6
(C) 3,2,5,6,8 (D) 2,3,6,5,8 我需要详细的步骤和原理。刚学写这东西,还冒咋搞懂,谢谢了。
要是你能再举几个例子更好了。谢谢了。 展开
2个回答
展开全部
==,我去找数学老师补习补习再来回答问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先将基准5用一个中间变量保存,接着用前后两个标志,一个从前往后,另外一个从后往前,下面循环步骤执行的前提是前标志的位置小于后标志的位置
首先从后往前,如果找到第一个比5小的关键字(现在就是3),就放到5原来的位置,
然后从前往后,直到第一个比5大(现在就是6),放到3原来的位置
继续下去就会两个标志碰头了,循环终止
然后将基准5放到6原先的空位
这样第一趟排序的结果就是:C
比基准5小的都在其左边,比基准5大的都在其右边
接下来再对其左边与右边的分别这样排序直到序列只有一个元素为止
例如:
初始关键字:49, 38, 65, 97, 76, 13, 27, 49*
第一趟排序后:27, 38, 13, 49, 76, 97, 65, 49*
首先从后往前,如果找到第一个比5小的关键字(现在就是3),就放到5原来的位置,
然后从前往后,直到第一个比5大(现在就是6),放到3原来的位置
继续下去就会两个标志碰头了,循环终止
然后将基准5放到6原先的空位
这样第一趟排序的结果就是:C
比基准5小的都在其左边,比基准5大的都在其右边
接下来再对其左边与右边的分别这样排序直到序列只有一个元素为止
例如:
初始关键字:49, 38, 65, 97, 76, 13, 27, 49*
第一趟排序后:27, 38, 13, 49, 76, 97, 65, 49*
来自:求助得到的回答
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询