public class sort {
private static int count = 0;
public static void main(String[] args) {
int[] a = { 4, 2, 1, 6, 3, 6, 0, -5, 1, -2 };
// Bubble(a); //冒泡
// SelectSort(a); //选择
// InsertSort(a); // 插入
// BinaryInsertSort(a); //二分
// ShellSort(a,dk,3); //Shell
QSort(a, 0, a.length - 1); // 快速
System.out.print("swap次数:" + count + "\n排序结果为:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
/**
* <快速排序>
* 选取一个基准值,然后使 左边队列的值≦基准值≦右边队列的值
* 通过递归调用对左右子区间快速排序得到结果
*/
public static void QSort(int[] a, int low, int high) {
int i, j, temp;
if (low < high) {
i = low;
j = high;
temp = a[i];
while (i < j) {
while (i < j &
【数据结构——数组(五)】常见排序算法总结
最新推荐文章于 2023-03-19 23:40:07 发布