设为首页 加入收藏

TOP

快速排序法(Java版)
2014-11-23 20:15:08 】 浏览:8251
Tags:快速 排序 Java

  快速排序是对冒泡排序的一种本质改进。它的基本思想是通过一趟扫描后,使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置,而待排序序列的长度可能只减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)的左边各数都比它小,右边各数都比它大。然后又用同样的方法处理它左右两边的数,直到基准点的左右只有一个元素为止。


  java


  1 void quickSort(int[] arr, int left, int right){


  2 int p = partition(arr, left, right);


  3 quickSort(arr, left, p-1);


  4 quickSort(arr, p+1, right);


  5 }


  6 //1:


  7 int partition(int[] arr, int left, int right){


  8 int p = left/2 + right/2;


  9 while(left < right){


  10 while(left < p && arr[left] <= arr[p]){


  11 left++;


  12 }


  13 while(right > p && arr[right] >= arr[p]){


  14 right--;


  15 }


  16 swap(arr[left], arr[right]);


  17 }


  18 return p;


  19 }


  20


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hibernate批量更新与删除实例浅析 下一篇给Oracle支招:改善Java的15种方式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目