Java 常用算法 插入,冒泡,快速排序大放送
来源:互联网 发布:安阳战狼网络会所电话 编辑:程序博客网 时间:2024/06/03 09:42
基础思想不在复述,java的实现如下:
import java.util.Arrays;/** * Created by ykanghe on 12/27/16. */public class algorithm { /** * 快速排序 * * @param a * @param left * @param right * @return */ public static int quickPostSort(int[] a, int left, int right) { int low = left; int high = right; int value = a[low]; while (low < high) { while (low < high && value <= a[high]) { high--; } a[low] = a[high]; while (low < high && value >= a[low]) { low++; } a[high] = a[low]; } a[low] = value; return low; } public static void quickSort(int[] a, int left, int right) { if (left < right) { int q = quickPostSort(a, left, right); quickSort(a, left, q - 1); quickSort(a, q + 1, right); } } /** * 冒泡排序 * * @param a * @return */ public static void blumSort(int[] a) { if (a.length > 0) { int tmp = 0; for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - 1 - i; j++) { if (a[j] > a[j + 1]) { tmp = a[j]; a[j] = a[j + 1]; a[j + 1] = tmp; } } } } } /** * 直接插入排序 * * @param a */ public static void insertSort(int[] a) { for (int i = 1; i < a.length; i++) { int key = a[i]; int j = i - 1; while (j >= 0 && a[j] > key) { a[j + 1] = a[j]; j--; } a[j + 1] = key; } } public static void main(String[] arg) { int[] a = {49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51};// blumSort(a);//冒泡// quickSort(a, 0, a.length - 1);//快速 insertSort(a);//插入排序 String s = Arrays.toString(a); System.out.println(s); }}
0 0
- Java 常用算法 插入,冒泡,快速排序大放送
- PHP常用排序算法 冒泡排序 快速排序 插入排序
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- C语音常用排序算法 (冒泡 选择 快速 插入)
- 常用排序算法--冒泡,插入,选择,希尔,归并,快速
- Java数组排序算法,冒泡,选择,插入,快速排序
- Java数组排序算法,冒泡,选择,插入,快速排序
- java排序之冒泡、插入、选择、快速等排序算法
- 各种排序算法-Java-冒泡、选择、插入、快速、归并排序
- 常用的排序算法:插入排序,希尔排序,冒泡排序,选择排序,快速排序,归并排序
- 【学习总结】Java中最常用的三大排序算法-冒泡排序、选择排序、插入排序
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排
- 常用的选择排序.Shell排序.快速排序.冒泡排序.插入排序的算法
- Java冒泡,快速,插入,选择排序^_^+二分算法查找
- 排序算法(冒泡 插入 快速 归并)java
- java简单实现冒泡、快速、选择、插入排序算法
- Java实现冒泡,快速,选择,插入排序算法
- java 排序算法总结(冒泡,选择,插入,快速)
- 【Android学习笔记】基于TCP协议的Socket通信
- [Leetcode] Search Insert Position
- Linux命令之stat的三个时间详解
- ubuntu16+mxnet
- SQL Server 中行转列 列转行
- Java 常用算法 插入,冒泡,快速排序大放送
- MYSQL-索引
- bootstrap响应式布局
- 计算机原理学习(1)
- swift学习笔记 - 判断当前运行的系统和平台
- ajax 小记
- 计算机原理学习(2) 冯诺依曼体系和cpu工作原理
- Android studio -- java.lang.nullpointerexception(no error message)
- Git 分支 - 分支的新建与合并