快速排序是排序演算法中平均時間複雜度為o(nlogn)的一種演算法,其實現需要先解決這樣乙個問題。對乙個序列a,a,a【n】調整序列中元素的位置,使得a(原序列的a)的左側元素都不超過a,右側元素都大於a。
1,先將a存至某個零時變數temp,並令兩個下標left,right分別指向首尾(如令left=0,right=n-1)
2.只要將right指向的元素a【right】大於temp,就將right不斷左移;當某個時候a【right】《temp時,將元素a【right】挪到left的指向的元素a【left】處。
3.只要left指向的元素a【left】不超過temp,就將left不斷右移,當某個時候a【left】挪到right指向的元素a【right】處。
4.重複2,3,直到left域right相遇,吧temp放在相遇的地方。
public class quicksort ;
quick(a,0,a.length-1);
for(int i=0;itemp)right--;
a[left]=a[right];
while(lefta[right]=a[left];
}a[left]=temp;//此時left=right
return left;//也可以return right
}void quick(int a,int left,int right) }}
JAVA基礎面試題(1)
1 所有的類都繼承於object類,其直接子類有boolean void character class compiler math number runtime stringbuffer stringbuilder system thread等等 其常用的方法有 tostring hashcode...
Java程式基礎面試題 一
型別 識別符號 初始值 ex int age 20 final 型別 識別符號 初始值 ex final int age 10 類中有幾種變數,分別是區域性變數,成員變數 也稱為例項變數 類變數 也稱為靜態變數 其中,區域性變數是定義在方法中的變數,成員變數是在方法外而在類宣告內定義的變數,類變數是...
基礎面試題
答 物件導向的特徵主要有以下幾個方面 1.抽象 抽象就是忽略乙個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象 二是資料抽象。2.繼承 繼承是一種聯結類的層次模型,並且允許和鼓勵類...