算法:记一次快速排序
2017-08-19 23:46
267 查看
public static void main(String[] args) { int[] param = new int[]{1,-1,3,7,-2,8}; int[] res = sort(param,0,param.length-1); for (int re : res) { System.out.print(re); } } private static int[] sort(int[] nums,int left,int right) { if(left >= right){ return nums; } int l = left;int r = right; int orign = nums[l]; while(l<r){ while(l<r&&orign<nums[r]){ r--; } if(l<r){ nums[l++] = nums[r]; } while(l<r&& orign>nums[l]){ l++; } if(l<r){ nums[r--] = nums[l]; } } nums[l] = orign; sort(nums,left,l-1); sort(nums,l+1,right); return nums; }
相关文章推荐
- 【算法导论-010】快速排序(quickSort)
- 算法复习--快速排序
- 我的Java开发学习之旅------>Java经典排序算法之快速排序
- iOS算法总结-快速排序
- 【数据结构与算法】内部排序之四:归并排序和快速排序(含完整源码)
- 前端算法之快速排序(JS版)
- 经典算法---快速排序(javascript)
- 算法系列(四)排序算法中篇--归并排序和快速排序
- leetcode:Remove Duplicates from Sorted List II (留下链表中只出现一次的元素)【面试算法题】
- Partition算法及Partition算法用于快速排序
- 【白话经典算法系列之十七】 数组中只出现一次的数
- 算法设计之快速排序的实现 (C++实现)
- 快速排序里的学问:枢纽元选择与算法效率
- 给出一个单链表,不知道节点N的值,怎样只遍历一次就可以求出中间节点,写出算法!
- 经典算法学习——第一个只出现一次的字符
- 算法复习之快速排序
- 算法-----快速排序
- 【啊哈!算法】算法3:八一八“快速排序”
- MOOC清华《程序设计基础》第5章:快速排序(不分配动态空间-算法二)
- C语言实现数组快速排序(含对算法的详细解释)