Java演算法之排序(快速,冒泡,歸併,選擇)

2021-08-01 08:31:50 字數 1618 閱讀 3934

下面是個人整理的幾種排序演算法,不算太難,有一定基礎的認真看看都可理解。歸併演算法思想比較簡單,但在寫**時要注意處理好邊界問題,注意對陣列的賦值和改變。

(選擇排序)

//選擇排序

public class n1_1

public n1_1(int a)

public int result()

}temp = a[i];

a[i] = min;

a[index] = temp;

} return a;

} public static void main(string args) ;

n1_1 n = new n1_1(a);

a = n.result();

for(int i = 0; i < a.length; i++)

}}

(氣泡排序)

public class n1_2 

public n1_2(int a)

public int result()

}} return a;

} public static void main(string args) ;

n1_2 n = new n1_2(a);

a = n.result();

for(int i = 0; i < a.length; i++)

}}

(快速排序)

//快速排序

public class n6_4

v[low] = v[high];

while(low < high && v[low] <= key)

v[high] = v[low];

}v[low] = key;

quicksort(v,left,low-1);

quicksort(v,low+1,right);

} return v;

} public static void main(string args) ;

int v = quicksort(a,0,8);

system.out.println(arrays.tostring(v));

}}

(歸併排序)

public class guibing  else   

}// 把左邊剩餘的數移入陣列

while (i <= mid)

// 把右邊邊剩餘的數移入陣列

while (j <= high)

// 把新陣列中的數覆蓋nums陣列

for (int k2 = 0; k2 < temp.length; k2++)

}public static int mergesort(int str, int p, int r)

return str;

} public static void main(string args) ;

mergesort(a,0,7);

system.out.println(arrays.tostring(mergesort(a,0,7)));

}}

演算法之常見排序演算法 氣泡排序 歸併排序 快速排序

引言 對於程式設計中琳琅滿目的演算法,本人向來是不善此道也不精於此的,而說起排序演算法,也只是會氣泡排序。還記得當初剛做開發工作面試第一家公司時,面試官便讓手寫氣泡排序 入職之後才知道,這面試官就是乙個氣泡排序 病態 愛好者,逢面試必考氣泡排序 後來看吳軍的一些文章,提到提高效率的關鍵就是少做事情不...

排序演算法 氣泡排序,歸併排序,快速排序

氣泡排序 屬於交換排序的一種。很好理解的交換排序是這樣的 for int i 0 i n i for int j i 1 j n j 這個演算法的邏輯是從頭到尾掃瞄元素,將這個元素和它後面的所有元素進行比較,如果有比它更小的,那就交換,最後交換的一定是最小的,然後元素指標i後移,再比較它後邊的所有元...

java 快速排序演算法與氣泡排序演算法

首先看下 氣泡排序演算法與快速排序演算法的效率 如下的是main方法 description author cuiyaonan2000 163.com date 2014年11月5日 下午1 02 10 public static void main string args long beforeq...