排序算法
琴无续弦
加油
展开
-
插入排序
准备大三了,巩固一下简单的算法。 先是插入排序。对于少量元素,它是一个有效的算法。 最坏情况运行时间O(n^2),平均情况运行时间O(n^2)。 下面是java 的代码: //插入排序 public class Insertion_sort { public static void main(String[] args) { int []arr=new int[10];原创 2016-07-18 20:57:14 · 175 阅读 · 0 评论 -
冒泡排序java
所谓冒泡就是每一次外循环结束后都可以把最值交换到数组的开头或结尾。此处是将最小的值冒泡到最前面。 //冒泡排序 public class Bubble_sort { static void bubble_sort(int[] ar) { for(int i=0;i<ar.length;i++) { int flag=0;//假如检测到没有任何元素交换即证明已原创 2016-07-19 21:57:40 · 312 阅读 · 0 评论 -
归并排序java
归并排序:从已经排好序的两堆数据中合并成一组排好序的数组 public static void main(String[] args) { int[] arr = {23, 2, 53, 13, 42, 56, 7, 8, 60, 21, 76}; printArr(arr); mergeSort(arr, 0, arr.length-1); printArr(ar...原创 2016-07-19 14:29:34 · 200 阅读 · 0 评论 -
快速排序 java 实现
public class QuickSort { public static void quickSort(int[] arr, int front, int rear) { if(front >= rear) { return; } int i = front, povit = front, j = rear; int tem = arr[povit]; ...原创 2019-05-06 15:22:44 · 79 阅读 · 0 评论 -
堆排序 java 实现
public class HeepSort { private static void heepSort(int[] arr) { int n = arr.length; int[] a = new int[n+1];//堆排序只能从1开始,新建一个从1开始的数组 for(int i = 1; i < a.length; i++) { a[i] = arr[i-...原创 2019-05-06 15:24:53 · 121 阅读 · 0 评论 -
希尔排序 java 实现
public static void shellSort(int[] arr) { int i, j, d; for(d = arr.length/2; d > 0; d /= 2) { for(i = d; i < arr.length; i++) { //内嵌直接插入排序 if(arr[i] < arr[i-d]) { int tem...原创 2019-05-06 15:26:35 · 107 阅读 · 0 评论