
排序
h82258652
这个作者很懒,什么都没留下…
展开
-
快速排序
public static void QSort(int[] array, int low, int high){ int left = low; int right = high; int pivotkey = array[left]; while (left < right) { while (left = pivotkey)原创 2012-12-24 11:34:10 · 357 阅读 · 0 评论 -
希尔排序
/// /// 希尔排序/// /// 需要排序的数组public static void ShellSort(int[] array){ int i, j, temp, length = array.Length, gap = length >> 2; for (; gap > 0; gap >>= 2) { for (i = gap; i <原创 2012-12-26 23:31:59 · 374 阅读 · 0 评论 -
选择排序
/// /// 选择排序/// /// 需要排序的数组public static void SelectSort(int[] array){ int min;// 当前剩余数组的最小数的下标 for (int i = 0; i < array.Length; i++) { min = i; #region 查找数组中剩余的最小值的下原创 2012-12-26 21:52:20 · 373 阅读 · 0 评论 -
归并排序
/// /// 归并排序/// /// 已排序的第一个数组/// 已排序的第二个数组/// 合并后的数组public static int[] MergeSort(int[] a, int[] b){ int[] result = new int[a.Length + b.Length];// 合并后的数组 int aIndex = 0, bIndex = 0;//原创 2012-12-26 12:06:25 · 392 阅读 · 0 评论 -
双向冒泡排序
/// /// 双向冒泡排序/// /// 需要排序的数组public static void TwoWayBubbleSort(int[] array){ int maxindex = array.Length - 1, left = 0, right = maxindex, i;// maxindex为数组最大下标,left为左游标,right为右游标 while (原创 2012-12-20 11:41:25 · 428 阅读 · 0 评论