快速排序的Java和Scala实现
来源:互联网 发布:淘宝常见问题 编辑:程序博客网 时间:2024/06/16 19:40
java代码:
import java.util.Arrays;/** * @author bin.zhang * @version 2017年8月28日 下午2:43:10 */public class QuickSort { /** * @author bin.zhang * @param args */ public static void main(String[] args) { int[] arr = { 7, 6, 9, 6, 2, 7, 0, 2 }; System.out.println("排序前:" + Arrays.toString(arr)); sort(arr, 0, arr.length - 1); System.out.println("排序后:" + Arrays.toString(arr)); } /** * * @author bin.zhang * @param arr * @param start * @param end * @return idx */ public static int partition(int[] arr, int start, int end) { int base = arr[start]; while (start < end) { while (arr[end] >= base && start < end) { end--; } arr[start] = arr[end]; while (arr[start] <= base && start < end) { start++; } arr[end] = arr[start]; } arr[start] = base; return start; } /** * @author bin.zhang * @param arr * @param start * @param end */ private static void sort(int[] arr, int start, int end) { if (start >= end) { return; } int idx = partition(arr, start, end); sort(arr, start, idx - 1); sort(arr, idx + 1, end); }}
scala代码:
package a/** * Created by bin.zhang on 2017/8/28. */object QuickSort { def main(args: Array[String]): Unit = { val sortedList = qSort(List(7, 6, 9, 6, 2, 7, 0, 2)) println(sortedList) } def qSort(list: List[Int]): List[Int] = { if (list.length < 2) list else qSort(list.filter(list.head > _)) ++ list.filter(list.head == _) ++ qSort(list.filter(list.head < _)) }}
阅读全文
1 0
- 快速排序的Java和Scala实现
- 快速排序:Scala实现
- Scala实现快速排序
- 【scala 数据结构和算法】Scala实现:快速排序
- Scala实现冒泡排序、归并排序和快速排序
- Scala实现冒泡排序、归并排序和快速排序
- scala数据结构和算法-04-快速排序实现
- 快速排序算法和冒泡排序算法的java实现
- 冒泡排序和快速排序java实现
- java实现冒泡排序和快速排序
- java实现冒泡排序和快速排序
- 快速排序的JAVA实现
- 快速排序的Java实现
- 快速排序的java实现
- 快速排序的java实现
- 快速排序的java实现
- 快速排序Java的实现
- java实现的快速排序
- spring4.0 新特性
- ant使用指南
- MVP+Dagger2+Retrofit2.0+Rxjava
- Java入门(1) —— 变量、运算符、分支结构和程序员思维的理解
- Maven学习
- 快速排序的Java和Scala实现
- 算法竞赛入门经典 第三章习题题解
- DBCP:使用DBCP连接池出现NoClassDefFoundError和ClassNotFoundException错误
- Linux命令帮助文档的使用
- Flask零基础到项目实战(四)SQLAlchemy数据库(一)
- php面向对象补充
- Android 弹性动画的三种实现方式
- 机器学习系列直播--使用对抗神经网络(GANs)生成猫
- Android DexIndexOverflowException