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...