【Java】快速排序
来源:互联网 发布:国际长途网络电话软件 编辑:程序博客网 时间:2024/06/07 22:58
快速排序是随机挑选一个元素,对数组进行分割,将所有比它小的元素排在前面,比它大的元素排在后面,这里分割经由一系列元素交换的动作完成。
快速排序的时间复杂度:
最好的情况下O(n(log2n)), 最坏的情况下O(n2)
空间复杂度 O(1)
public class quickSort {void quicksort(int arr[], int left, int right) {int index = partition(arr, left, right);if (left < index - 1) {quicksort(arr, left, index - 1);}if (index < right) {quicksort(arr, index, right);}}int partition(int arr[], int left, int right) {int pivot = arr[(left + right) / 2];while (left <= right) {while(arr[left] < pivot) left++;while(arr[right] > pivot) right--;if (left <= right) {swap(arr, left, right);left++;right--;}}return left;}void swap(int arr[], int left, int right) {int temp = arr[left];arr[left] = arr[right];arr[right] = temp;}}
0 0
- 排序-快速排序-Java
- java排序之快速排序
- Java排序算法 快速排序
- 快速排序(java排序)
- java 快速排序,冒泡排序
- 算法:排序----Java快速排序
- 【交换排序】快速排序--Java
- java 插入排序+快速排序
- Java 排序之 快速排序
- java排序之快速排序
- Java排序算法:快速排序
- Java排序-快速排序
- Java排序算法:快速排序
- Java排序算法--》快速排序
- JAVA排序算法---快速排序
- Java 快速排序 归并排序
- Java排序算法--快速排序
- java 冒泡排序、快速排序
- 了解typename的双重意义
- IBM AppScan安全测试一例——跨站脚本攻击
- 使用Gradle提交自己开源Android库到Maven中心库
- Android 事件分发总结
- 文章标题
- 【Java】快速排序
- 比特币『私钥』『公钥』『钱包地址』间的关系
- 蓝牙A2DP的初始化过程
- Markdown 新手指南
- java命令设计模式
- SQL Server中的三种物理连接操作:嵌套循环连接、合并连接、哈希匹配
- SPFA的两种实现形式(二维数组与数组模拟邻接表)
- C++读取屏幕输入
- 索引的使用