基础算法
ForSun
爱代码爱工作爱老婆
展开
-
选择排序
package sun;public class Sort { // 左边的元素就是最后的位置,在右边中选出最小的然后和左边比较进行交换 public static void selection(int[] arr) { for (int i = 0; i < arr.length; i++) { int min = arr[i]; int pos = i; for原创 2016-04-22 12:42:48 · 512 阅读 · 0 评论 -
快速排序
简单实现原创 2016-04-24 10:43:47 · 300 阅读 · 0 评论 -
直接插入排序
package sun;public class Sort { /** * * @param a 待排序数组 */ public static void insertSort(int[] a){ int i , j; int temp; //第一个元素有序,从第二个开始比较 for(i = 1;i <= a.length-1;i++){ temp = a原创 2016-04-24 11:11:30 · 535 阅读 · 0 评论 -
二路归并排序
package sun;public class Sort { private static void sort(int[] array, int i, int j) { if (i < j) { int middle = (i + j) / 2; // 递归处理相关的合并事项 sort(array, i, middle); sort(array, middle原创 2016-04-24 13:46:54 · 1243 阅读 · 0 评论 -
折半插入排序
package sun;public class Sort { public static void binaryInsertSort(int[] data) { for (int i = 1; i < data.length; i++) { if (data[i] < data[i - 1]) { //原创 2016-04-24 13:51:29 · 396 阅读 · 0 评论 -
希尔排序
package sun;public class Sort { /** * * @param a * 待排序数组 */ public static void shell(int[] a, int l, int r) { int h; for (h = l; h <= (r - l) / 9; h = 3 * h + 1) ; for原创 2016-04-24 12:55:25 · 504 阅读 · 0 评论 -
堆排序
package sun;public class Sort { /** * * @param a 堆排序,使用完全二叉树,因此下标需要从1开始 * @param low * @param high */ public static void shift(int[] a,int low,int high){ int i = low,j = 2*i; //a[j]是a原创 2016-04-24 13:34:18 · 360 阅读 · 0 评论 -
冒泡排序
package sun;//从最右边开始,较小的元素一直往左边移动//最左边的元素为最后的位置public class Sort { public static void bubble(int[] a) { for (int i = 0; i < a.length; i++) { for (int j = a.length - 1; j > i; j--) { int原创 2016-04-22 12:40:56 · 276 阅读 · 0 评论