1. 程式人生 > >Java陣列的冒泡、選擇排序

Java陣列的冒泡、選擇排序

文章目錄

氣泡排序

原理:相鄰兩元素兩兩比較,大的向後放,當完成第一次後最大的值出現在陣列最大索引處。    同理一直重複此操作,陣列便可按大到小排序。    注意第二輪比較時可以不用再繼續比較最後一組資料(最後一組資料已經是最大的資料了)。 氣泡排序演算法例項:

package test05_paixu;

//氣泡排序


public class ArrayBubbleSort {
	public static void main(String[] args) {
		int []a= {15,78,21,65,54,13};
		bubbleSort(a);
		arrayPrint
(a); } public static void bubbleSort(int []a) { for(int i=0;i<a.length-1;i++) { for(int y=0;y<a.length-1-i;y++) { if(a[y]>a[y+1]) { int temp=a[y]; a[y]=a[y+1]; a[y+1]=temp; } } } } public static void arrayPrint(int []a) { System.out.print("["+a[0])
; for(int i=1;i<a.length;i++) { System.out.print(","+a[i]); } System.out.println("]"); } }

選擇排序

原理 :從0元素開始,依此和後面元素比較,把小的向前放,完成第一次後小的在最前面    同理一直重複此操作,陣列便可按大到小排序。    注意第二次可以不用比較第0位的資料 選擇排序演算法例項

package test05_paixu;

//選擇排序

public class ArraySelectSort {
	public static void main(String[]
args) { int []a= {15,78,21,65,99,13}; selectSort(a); arrayPrint(a); } public static void selectSort(int []a) { for(int x=0;x<a.length-1;x++) { for(int y=x;y<a.length;y++) { if(a[x]>a[y]) { int temp=a[y]; a[y]=a[x]; a[x]=temp; } } } } public static void arrayPrint(int []a) { System.out.print("["+a[0]); for(int i=1;i<a.length;i++) { System.out.print(","+a[i]); } System.out.println("]"); } }