# 快速排序
# 原理
取无序集合中任意一个元素(通常选集合的第一个元素)作为分界点,将小的放左边,大的放右边,此时集合被划分三段,
然后将左边,右边集合分别使用之前的集合划分方式,直到最后每个集合中的元素都是...原始集合:{5,2,4,6,8,1,9,7,10,3}
取任意一个元素:5,分割后为{2,4,1,3} {5} {6,8,9,7,10}
分别取多个子集合的任意一个元素:
* 第一个子集合:{1}...{2} {4,3}
* 第二个子集合:{5}
* 第三个子集合:{6} {8,9,7,10}
按上一步的模式继续拆分集合:
{1}
{2}
{3} {4}
{5}
{6}
{7}{8...}{9,10}
继续拆分:
{1}
{2}
{3}
{4}
{5}
{6}
{7}
{8}
{9} {10}
最后发现每个集合都是1个元素,拆无可拆时排序结束。....format(inputArr))
# 实现二
在原数组上排序
def splitSortArr2(arr, start, end):
if(start==end):
return