java排序-交换排序-快速排序
生活随笔
收集整理的這篇文章主要介紹了
java排序-交换排序-快速排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
優化前(傳統):
/*** 快速排序*/@Testpublic void kuaiSuTest(){/*** 1、選擇一個基點* 2、從兩邊開始向基點遍歷,與基點比較,大小位置不對的就互換位置* 3、遍歷結束排序完成*/sort(data,0,data.length-1);System.out.println(Arrays.toString(data));}public static void sort(int[] data,int low,int height){int i = low;int j = height;if (i>j) {return;}int key=data[i];while (i<j){while (i<j&&data[j]>key){j--;}while (i<j&&data[i]<key){i++;}if (i<j){int temp = data[i];data[i]=data[j];data[j]=temp;}}sort(data,0,i-1);sort(data,i+1,height);}優化:
在排序時,如果碰到了相同的元素比較多的時候也就是像{3,2,1,1,1,4,5,2,2,6,2,3}這種,我們判斷的時候可以直接把這個元素放在與他相同的附近
?
轉載于:https://www.cnblogs.com/lcxz/p/10252312.html
總結
以上是生活随笔為你收集整理的java排序-交换排序-快速排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《百面机器学习算法工程师带你去面试》资料
- 下一篇: 爬虫之selenium和PhantomJ