標籤:oid 組元 new for out 複製 void 比較 冒泡
1.數組排序演算法-冒泡排序演算法
作用:可以對整數數組中的元素進行排序,與Arrays.sort方法的作用一樣,唯一的區別是sort方法可以對任意的類型數組進行排序。
例子:
public class P_1 {
public static void main(String args[]) {
int[] a = new int[] {5,2,6,7,3,9};
P_1 p = new P_1();
p.mysort(a);
p.showarray(a);
}
public void mysort(int[] a) {
for(int i=1;i<a.length;i++) { //比較的次數(25次)
for(int j=0;j<a.length-1;j++) { //兩個數進行比較,大的數往後移。
if(a[j]>a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
public void showarray(int[] a) {
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
}
2.直接選擇排序
作用:直接選擇排序的作用跟冒泡排序一樣,是對數組元素進行排序,優勢在於直接選擇排序演算法比較的次數比冒泡排序演算法少。
例子:
public class P_1 {
public static void main(String args[]) {
int[] a = new int[] {5,2,6,7,3,9};
P_1 p = new P_1();
p.mysort(a);
p.showarray(a);
}
public void mysort(int[] a) {
int sum = 0;
int index;
for(int i=1;i<a.length;i++) { //比較的次數
index = 0;
for(int j=1;j<=a.length - i;j++) { //從數組第一個元素開始比較,最大的數移到最後,賦值給a[index]。
if(a[j]>a[index]) {
index = j;
}
sum++;
}
int temp = a[a.length-i];
a[a.length-i] = a[index]; //將最大的數複製給最後數組的最後一個元素。
a[index] = temp;
}
System.out.println("次數"+sum); //總共比較15次
}
public void showarray(int[] a) {
for(int i=0;i<a.length;i++) {
System.out.print(">"+a[i]);
}
}
}
java-數組排序演算法