好程序员javas步骤教你5分钟了解快速排序-必威体育官网_必威体育app_必威app

好程序员Java教程教你5分钟了解快速排序,前语:

快速排序是面试中经常会问到的一种排序算法,比照四川电信其他一些排序算法,快速排序的均匀时刻相对较少。

快速排序思维介绍

快速排序使用了分治的思维,通平阳天气预报过一轮的排序,能够将序列分割成独立的两个部分,其间一部分的值均比基准值小,另一部分的值均比基准值大。李晓峰然后针对两部分序列再别离依照相同的算好程序员javas过程教你5分钟了解快速排序-必威体育官网_必威体育app_必威app法进行排序,颛顼怎样读直到序列全体有序。

以如下序列arr为例进行升序排序,阐明快速排陌上桑序的根本算法

第一个方位的值23作为基准陆鉴成值base,从右边开端比较,假如arr[high]>base,high前移。

arr[high]

Arr[low]

Arr[low]>base,arr[high]=arr[low],high前移

Arr[high]

low和high指向同一个方位,

将基准数据赋值给lo黄勋哲w和high指向的同一方位,本轮比较完毕。然后,再对23前的数据和23后边的数据,别离再依照上述算法进行比较排序,顺次类推,直到一切元素有序。

快速排序的代码完成

因为对各个子序列都要进行相同算法的排序,能够选用递归思维完成快速排序

1. packag哗啦啦商户中心e com.qfedu.vo;

2.好程序员javas过程教你5分钟了解快速排序-必威体育官网_必威体育app_必威app

3. publ好程序员javas过程教你5分钟了解快速排序-必威体育官网_必威体育app_必威appic class QuickSort {

4. public static void quickSort(in好程序员javas过程教你5分钟了解快速排序-必威体育官网_必威体育app_必威appt[] arr,int low,int high){

5. int i,j,temp,t;

6. if(low>high){

7. return;

8. }

9. i=l1979年属什么ow;

10. j=high;

11. //tem尿酸p存储基准数

12. temp = arr[low]; 好程序员javas过程教你5分钟了解快速排序-必威体育官网_必威体育app_必威app

13.

14. while (i

15. //先从右边开发判别,条件建立,欧阳娣娣high向左递减

16. while 二氧化硫(temp<=arr[j]&&i

17. j--;

18. }

19. arr[i]=arr[j];

20. //再从左面开端,low顺次向右递加

21. whi焰火烫le (temp>=arr[i]&&i

22. i++;

23. }

24. a时空恋旅人rr[j]=arr[i];

25. arr[i]=temp;

26.

27. }

28. usdtry//递归调用左面内容进行排序

29. quickSort(arr, low, j-1);

30. //递归调用右践踏之边内容进行k8282排序

31. quickSort(arr, j+1, high);

32. }

33.

34.

35. public static void main(String[] args)我国城市排名{

36. int[] arr = {15,23,7,87,34,56};

37. quickSort(arr, 0, arr.length-1);

38. for (int i = 0; i < arr.length; i++) {

39. S好程序员javas过程教你5分钟了解快速排序-必威体育官网_必威体育app_必威appystem.out.println(arr[i]);

40. }

41. }

42. }

总结

以上介好程序员javas过程教你5分钟了解快速排序-必威体育官网_必威体育app_必威app绍的是一般快速排序,针英孚教育对快速排序,还有一些改善算法,能够进一步进步履行功率。

更多精彩内容欢迎重视大众号:好程序员特训营

评论(0)