java基礎點滴02 陣列

2021-06-03 12:44:17 字數 1158 閱讀 9588

1.陣列在記憶體中的儲存

陣列儲存與記憶體中的堆中,並將自己陣列的首位址儲存在棧中的陣列名變數中。

陣列的儲存形式與物件一致,即是按引用儲存而不是值儲存。見下圖:

2.陣列的選擇排序a[n]

初步理解該演算法,其變化形式及演算法複雜度後面補習。

理解:外層——從第乙個元素開始依次與後面所有元素比較,直到倒數第二個元素,遍歷0至n-1;內層——當前外層的元素與當前外層元素後面所有元素比較,直到最後乙個元素,遍歷i+1至n。

public static void selectsort(intarr)

}} }

3.陣列的氣泡排序a[n]

初步理解該演算法,其變化形式及演算法複雜度後面補習。

理解:外層——3個元素冒泡要跑2趟,4個元素冒泡要跑3趟,n個元素n-1趟,遍歷0至n-1;內層——從0開始依次兩兩比較,直到n-外層趟數-1(減外層趟數是因為——外層跑1趟,內層迴圈時最後就要排除乙個元素,再減1是因為——相鄰兩個元素比較時角標不能越界),假設當前外層遍歷至i,則記憶體遍歷0至n-i-1。

public static void bubblesort(intarr)}}

4.陣列的折半查詢a[n](陣列必須先排序)

初步理解該演算法,其變化形式及演算法複雜度後面補習。

理解:三個變數儲存角標(min首,max末,mid=(min+max)/2中)。

public static int halfsearch(int arr,int key)

return mid;//跳出迴圈,即arr[mid]=key

}

5.有序陣列的插入(不影響原來的順序)

理解:在折半查詢的基礎上,找到插入的位置——角標

public static int getindex(int arr,int key)

{ int min=0,max=arr.length-1,mid;

while(max>=min)//換用max大於min來判斷是否找到

{ mid=(min+max)/2;

if(key>arr[mid])

min=mid+1;

else if(key

java基礎筆記02

1 多型 polymorphism 乙個物件具有多種形態。當用父類引用子類物件時,子類物件呈現多型性。乙個引用物件可以是其宣告型別或者它的任何子型別。例如 public inte ce vegetarian public class animal public class deer extends ...

C 基礎(02) 陣列

1 陣列的特點 2 陣列作為函式的形參 1 陣列有兩個性質 不允許拷貝陣列,以及使用陣列時會將其轉換成指標。因為不能拷貝陣列,所以無法以值傳遞的方式使用陣列引數。因為陣列會被轉換成指標,所以當為函式傳遞乙個陣列時,實際上傳遞的是指向陣列首元素的指標。2 陣列的引用 arr是乙個整型陣列的引用,該陣列...

Java陣列基礎

1,初始化陣列 可以初始化為int,char,string 型別 靜態初始化 int array new int 或者 int array 動態初始化 int array new int 5 系統預設陣列的每個元素值都為02,arry i 陣列的元素下角標從0開始到到i 1 3,system.out...