java學習之路--------第四天
今天的課程也是少的可憐,主要還是陣列,陣列的複製,陣列的排序(三大排序)
陣列的複製:
方法:System.arraycopy(src.srcIndex,desc,descIndex,lenth)
src:要複製的陣列
srcIndex:從哪個位置開始複製
desc:目標陣列
descIndex:從哪個位置插入
length:複製的原陣列的長度
備註:複製不可以超過目標陣列的長度
例子:
int [] src = {1,2,3,4,5};
int [] desc = {6,7,8,9,10};
System.out.println(Arrays.toString(desc));
System.arraycopy(src,2,desc,3,3);//報錯,陣列下標超出異常
System.out.println(Arrays.toString(desc));
三大排序:
1.選擇排序:
原理:第一個和第二個、第三個等所有元素進行比較,確定第一次迴圈的最小值,然後將最小值放入第一個位置去,然後從第二個開始比,將較小值再找到後放入第二個位置,以此類推一直到最後,最後一個數就不需要比了;所以比較次數為長度-1次。
2.氣泡排序:
原理:相鄰的兩個元素進行比較,將較大值放在後一個數,這樣第一圈比較完,最後一個數就是最大的數,這樣每次迴圈都會講最大的數放在後面,比較的次數-1,因為每次外迴圈結束後,最大的數已經放在了後面,就不需要再進行比較了。
3.插入排序
原理:選擇陣列中的第二個數也就是下標為1的數,和它前一個數比,如果小於它前一個數,則換位置,如果大於前一個數,則繼續拿第三個數和它前二個數比,同上,比到最後一個數。