八大排序算法之快速排序
来源:互联网 发布:数据集成工程师 编辑:程序博客网 时间:2024/05/21 12:13
package com.zyg.sort;public class QuickSortAlgorithm{// 快速排序public static void quickSort(int a[], int left, int right){if (left < right){// 获取数组中第left个元素在数组中的位置,将数组分为两部分int q = partition(a, left, right);// 左边部分进行排序quickSort(a, left, q - 1);// 右边部分进行排序quickSort(a, q + 1, right);}}public static int partition(int a[], int left, int right){// 记录第left个元素的值int pivot = a[left];while (left < right){// 从右边开始遍历数组,找到一个比pivot值小的元素while (left < right && pivot <= a[right])right--;// 将找到的元素值赋给第left个元素a[left] = a[right];// 从左边开始遍历数组,找到一个比pivot值大的元素while (left < right && pivot >= a[left])left++;// 将找到的元素值赋给第right个元素a[right] = a[left];}// 找到第left个元素的位置并插入a[left] = pivot;return left;}// 打印数组public static void printArray(int a[]){for (int i = 0; i < a.length; i++){System.out.println(a[i]);}}public static void main(String[] args){// 定义初始化数组int a[] ={ 4, 3, 6, 7, 33, 15, 90, 65 };// 进行快速排序quickSort(a, 0, a.length - 1);// 打印数组printArray(a);}}
0 0
- 八大排序算法之快速排序
- 八大排序算法之快速排序法
- 八大排序算法之快速排序
- 八大排序算法之快速排序
- 八大排序算法之快速排序
- 八大排序算法之快速排序
- 八大排序算法-快速排序
- 八大排序之快速排序
- 八大排序之--快速排序
- 八大排序算法 之 快速排序(填坑法)
- 八大排序算法之-快速排序 java代码
- 八大排序之快速排序算法-python实现
- 八大排序之快速排序算法-python实现
- 八大排序--交换排序 之 快速排序
- 八大排序算法(六)快速排序
- 八大排序算法(六) 快速排序
- 排序算法之八大算法
- 八大排序学习之六快速排序
- adrci日志管理工具
- 【SICP练习】98 练习2.73
- IOS 与 PHP 通信加密,使用AES 128 CBC no padding
- 谨慎使用java的try catch
- 字符串字符数组和基本类型的相互转换
- 八大排序算法之快速排序
- C++多态
- 【MySQL】MySQL服务器与客户端的区别
- 风火轮 – 动画效果:浮入与劈裂
- Spring @Autowired 注入集合类型的问题
- WIN7没有超级终端的解决方案
- 八大排序算法之归并排序
- 基于Dubbo的动态远程调用
- view渲染