day16_System類中的arraycopy方法——氣泡排序
摘要:
image.png
//拷貝陣列元素的操作
class ArrayCopeDemo
{
public static void main(String[] args)
{
int[] src = new int[]{...

image.png
//拷貝陣列元素的操作 class ArrayCopeDemo { public static void main(String[] args) { int[] src = new int[]{1,2,3,4,5,6,7,8,9,10};//源陣列 int[] dest = new int[10];//目標陣列 //需求:從src陣列中拷貝3,4,5,6元素到dest陣列中 printArray(dest);//[0,0,0,0,0,0,0,0,0,0] System.arraycopy(src,2,dest,5,4);//呼叫System類中自帶的copy方法 printArray(dest);//[0,0,0,0,0,3,4,5,6,0] } static void printArray(int[] arr) { //思路:先列印陣列"[]",再獲取arr數組裡面的元素,然後再做if判斷,判斷如果當前i的值不是最後一個索引,則拼接 if (arr == null) { System.out.println("null"); return; } String ret = "["; for (int i = 0;i < arr.length ;i ++ ) { ret = ret + arr[i]; //如果當前i不是最後一個索引,則拼接", " if (i != arr.length - 1) { ret = ret + ", "; } } ret = ret+"]"; System.out.println(ret); } }
氣泡排序

image.png

image.png
//陣列的排序操作(氣泡排序) class ArraySortDemo { public static void main(String[] args) { int[] arr = new int[]{2,9,6,7,4,1}; ArraySortDemo.printArray(arr);//[2,9,6,7,4,1] ArraySortDemo.bubbleSort(arr);//排序 ArraySortDemo.printArray(arr);//[1,2,4,6,7,9] } //氣泡排序 static void bubbleSort(int[] arr) { /* //第一輪 for (int i = 1;i <= arr.length - 1 ;i ++ ) { if (arr[i - 1] > arr[i]) { swap(arr,i-1,i); } } //第二輪 for (int i = 1;i <= arr.length - 2 ;i ++ ) { if (arr[i - 1] > arr[i]) { swap(arr,i-1,i); } } //第三輪 for (int i = 1;i <= arr.length - 3 ;i ++ ) { if (arr[i - 1] > arr[i]) { swap(arr,i-1,i); } } */ //程式碼加強 for (int j = 1;j <= arr.length - 1 ;j ++ ) { for (int i = 1;i <= arr.length - j ;i ++ ) { if (arr[i - 1] > arr[i]) { swap(arr,i-1,i); } } } } static void swap(int[] arr,int index1,int index2) { int temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; } static void printArray(int[] arr) { //思路:先列印陣列"[]",再獲取arr數組裡面的元素,然後再做if判斷,判斷如果當前i的值不是最後一個索引,則拼接 if (arr == null) { System.out.println("null"); return; } String ret = "["; for (int i = 0;i < arr.length ;i ++ ) { ret = ret + arr[i]; //如果當前i不是最後一個索引,則拼接", " if (i != arr.length - 1) { ret = ret + ", "; } } ret = ret+"]"; System.out.println(ret); } }