飞网论坛

标题: 68、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。 [打印本页]

作者: johnny    时间: 2016-9-1 19:23
标题: 68、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。
68、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)

快速排序的伪代码。

/ /使用快速排序方法对a[ 0 :n- 1 ]排序

从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点

把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点

递归地使用快速排序方法对left 进行排序

递归地使用快速排序方法对right 进行排序

所得结果为l e f t + m i d d l e + r i g h t







欢迎光临 飞网论坛 (https://bbs.cfei.net/) Powered by Discuz! X3.2