C语言排序算法:[1]教你理解快速排序。
1、一、假设我们给一个int数组进行排序,数组中数字初始序列为int a[9]={3,6,5,9,7,1,8,2,4}
![C语言排序算法:[1]教你理解快速排序。](https://exp-picture.cdn.bcebos.com/c8373cbc7dc5cf674e87dcf28e96b814f5d0266c.jpg)
3、三、算法的基本运算步铿溘老呻骤为:1、依次比较数组的后游标所指与temp的大小,如果temp<a[j],则j--,直到遇到第一个temp>a[j],则停止移动,将a[j]赋值给a[i]
4、四、算法的基本运算步骤为:2、依次比较数组的前游标所指与temp的大小,如果temp>a[i],则i++,直到遇到第一个temp<a[i],则停止移动,将a[i]赋值给a[j]
5、五、算法运算步骤为:3、判断i是否等于j,如果不相等则循环1、2步,直到i等于j,则完成一次快速排序。
![C语言排序算法:[1]教你理解快速排序。](https://exp-picture.cdn.bcebos.com/32fe25ef354f50b8c7e6a16fdc4afa32929c186c.jpg)
7、七、一次排序完之后在分别对temp前的数组元素和temp后的数组元素分别进行快排,直到数组元素个数为1则停止。
![C语言排序算法:[1]教你理解快速排序。](https://exp-picture.cdn.bcebos.com/5a5a00def4dca03993c7c75858d96975f3c40d6c.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:75
阅读量:56
阅读量:66
阅读量:25
阅读量:74