快速排序流程----图解序:由于心里没有全面的调用经过图序,画了一个以供回忆。这个图解,还原出快速排序的调用架构图。为了保证架构完整,去掉了划分过程分析,直接用了划分后的结果。说明如下:1.sortlist函数原型为:Voidsortlist(inta[],intl,inth);图中input的解释:假设注释input为:{54,37,26},[0,2],则表示low为0,high为22.注意快速排序,最核心的几样东西:2.1初始序列,low,high边界。(见每次的input)2.2划分过程。(图中没表现出来)2.3划分后得到的:分界点,左右两个子序列。(见划分后的注释://result{13},27,{38})2.4流程:像二叉树。有一个根,生成了第1层左叶子,右叶子,它们分别生出了第2层左右叶子,依次发展下去。每次都是最上层的子叶子先处理完(左边的叶子处理干净了(出栈后),再去处理右边的叶子,然后该子叶子处理完)。然后它再作为父叶子的左右叶子,依次处理,出栈。一层层出栈,最终返回到根,处理、出栈。整个过程完毕。这样把每个子序列都排好序了。没学过二叉树,描述的可能不到位,自己总结用的,希望有高手能给个宝贵意见啥的,一起分享,讨论进步^_^3.图中红色字:表示分界点的坐标。划分;//result{27,38,13},49,{76,97,65,49^}Sortlist(左);0,1,2,3,4,5,6,7Sortlist(右);函数Sortlist(1)划分;//result{13},27,{38},Sortlist(左);0,1,2Sortlist(右);Input:{27,38,13},[0,2](2)Input:{13},[0,0](3)Input:{38},[2,2](4)划分;//result{49^,65},76,{97},Sortlist(左);4,5,6,7Sortlist(右);Input:{76,97,65,49^},[4,7](5)划分;//result49^,{65},Sortlist(左);4,5Sortlist(右);Input:{49},[4,3]Input:{65},[5,5](6)Input:{49^,65},[4,5](7)(8)(9)Input:{97},[7,7]结束(0=0),Sortlist(3)出栈结束(2=2),Sortlist(4)出栈Sortlist(2)出栈结束(4=3),(7)出栈结束(5=5),sortlist(8)出栈,sortlist(6)出栈结束(7=7),(9)出栈,(5)出栈,(1)出栈