/** * 快速排序 n*logn * * @param array * 数组 * @param low * 低位 * @param high * 高位 * * 双重循环 外条件指针左小于右 内条件两边向中间滑 右到左,左到右 循环外 key放到左指针处 */ private static void fastSort(int[] array, int low, int high) { if (low >= high) { return; } else { int left = low; int right = high; int key = array[low]; while (left < right) { while (array[right] >= key && left < right) { right--; } array[left] = array[right]; while (array[left] <= key && left < right) { left++; } array[right] = array[left]; } array[left] = key; fastSort(array, low, left - 1); fastSort(array, left + 1, high); } }
【数据结构】快速排序
猜你喜欢
转载自blog.csdn.net/m0_37290323/article/details/80250657
今日推荐
周排行