您好我正在使用下面的插入排序算法,我想記錄被比較的元素。基本上我想比較存儲在兩個數組列表,arrList1和arrList2。如果一個元素在它的正確位置,那麼這兩個數組列表將具有相同的元素。如果不是,那麼arrList1將具有所選元素,而arrayList2將具有其自身比較的元素。我目前正在努力做到這一點,所以我想知道有沒有人可以幫忙?由於在java排序算法比較記錄元素
public static ArrayList<Integer> arrList1 = new ArrayList<Integer>();
public static ArrayList<Integer> arrList2 = new ArrayList<Integer>();
...
public static void insertSort(int[] A){
for(int i = 1; i < A.length; i++){
int value = A[i];
int j = i - 1;
while(j >= 0 && A[j] > value){
A[j + 1] = A[j];
j = j - 1;
}
A[j + 1] = value;
}
}
編輯: 例如:如果進行比較時,我的數組有數字1,3,2,4,6,5那麼,這是我多麼希望我的兩個數組列表看:
arrList1 arrList2
#1 1 1
#2 3 3
#3 2 3 (As 2 goes before 3 then it must be compared to 3)
#4 4 4
#5 6 6
#6 5 6 (As 5 is lower then 6 then it must be compared to 6)
排序後的數組:1,2,3,4,5,6
正如你可以看到,arrList1基本輸入陣列,同時arrList2的順序是比較它如果它不是在正確的位置上的元素。如果它在正確的位置,那麼arrList 2將是相同的值。
任何人?........ – Matt9Atkins 2012-02-10 17:29:58
I我不太清楚你的問題是什麼意思......你可以給我們一個例子,如在... S o如果A = this,那麼我會期望arrList1是那個,而arrList2是...也許在這個例子中你會得到更多的答案 – 2012-02-10 17:50:37
它現在被編輯,使它更清晰 – Matt9Atkins 2012-02-10 18:15:49