java几种排序简单实现(快速排序,冒泡排序,直接插入排序)
2018-04-08 13:02
639 查看
package Test; import com.alibaba.fastjson.JSONObject; public class Test { static int[] arrays = new int[] { 3, 10, 11, 1, 8, 2, 9, 4 }; // index = 0-7 , length = 8 public static void main(String[] args) { kuaisupaixu(arrays, 0, arrays.length - 1); System.err.println(JSONObject.toJSON(arrays)); } static void maopaopaixu(int[] arrays) { int length = arrays.length; for (int i = 1; i < length; i++) { for (int j = 0; j < length - i; j++) { if (arrays[j] > arrays[j + 1]) { int temp; temp = arrays[j]; arrays[j] = arrays[j + 1]; arrays[j + 1] = temp; } } } } static void kuaisupaixu(int[] arrays, int left, int right) { if (left >= right) { return; } int i = left; int j = right; int key = arrays[left]; while (i < j) { while (i < j && key <= arrays[j]) { j--; } arrays[i] = arrays[j]; while (i < j && key >= arrays[i]) { i++; } arrays[j] = arrays[i]; } if(i==j){ arrays[i] = key; } kuaisupaixu(arrays, left, i - 1); kuaisupaixu(arrays, i + 1, right); } static void zhijiecharupaixu(int[] arrays) { int length = arrays.length; for (int i = 1; i < length; i++) { int v = arrays[i]; int j = i - 1; for (; j >= 0; j--) { if (arrays[j] > v) { arrays[j + 1] = arrays[j]; } else { break; } } arrays[j + 1] = v; } } }
相关文章推荐
- 冒泡排序,简单插入排序,快速排序,二分查找的JAVA实现
- java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
- java实现各种基础排序(冒泡排序、快速排序、直接选择排序、堆排序、直接插入排序、归并排序)
- 插入排序、冒泡排序、选择排序、希尔排序、快速排序、归并排序、堆排序和LST基数排序——JAVA实现
- C++实现直接插入排序,折半插入排序,希尔排序,冒泡排序,简单选择排序,快速排序,堆排序
- C++实现常用排序算法(快速排序、冒泡排序、希尔排序、折半插入排序、直接插入排序)
- (数据结构排序的实验四)快速,冒泡,简单选择,直接插入排序的c语言实现!!
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 元素排序几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- 排序算法之冒泡排序、选择排序、直接插入排序(java实现)
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- 冒泡排序、选择排序、直接插入排序(java实现)
- Java程序实现冒泡排序、直接排序、插入排序方法
- java中各种常用排序实现(直接插入排序、直接选择排序、堆排序、冒泡排序、快速排序和归并排序)
- 几种内部排序算法总结!(冒泡排序、快速排序、直接插入排序、拆半插入排序、简单选择排序)
- 冒泡排序-直接选择排序-直接插入排序-希尔排序-java实现
- 十二.C语言8种排序算法及其实现 1.希尔排序 2.二分插入法 3.直接插入法 4.带哨兵的直接排序法 5.冒泡排序 6.选择排序 7.快速排序 8.堆排序
- 冒泡排序、直接插入排序及选择排序之Java实现
- C语言8种排序算法及其实现 1.希尔排序 2.二分插入法 3.直接插入法 4.带哨兵的直接排序法 5.冒泡排序 6.选择排序 7.快速排序 8.堆排序