2 陣列的學習

2021-06-17 22:19:45 字數 2393 閱讀 7373

1:陣列的操作:

(1)查詢

a:無序陣列

public static int getindex(int arr,int key)

}//當迴圈結束,說明元素在陣列中不存在

return -1;

}b:有序陣列 二分查詢

public static int getindex(int arr,int key)

else if(key < arr[mid])

//如果沒有怎麼辦?min max 

if(min>max)

mid = (min+max)/2;

}return mid;

}(2)陣列反轉

要求:給乙個陣列讓其反轉,而並不是反過來遍歷

public static void main(string args) ;//6,4,5,1,2,3;

revarray(arr);

system.out.println(print(arr));

}//定義反轉的方法,經過分析我們發現需要對調的角標是兩個變化的變數

//第一次讓頭角標和尾角標對調,然後讓頭角標自增,尾角標遞減再對調

public static void revarray(int arr)

}//把陣列轉換成字串輸出,因為任何資料型別與字串用+想連線都會產生新的字串

public static string print(int arr)

string str = "[";

for (int x=0;x //當x不等於最大角標值的時候,就讓字串"["不斷的與陣列中的元素用+號相連線,產生新的字串

if (x != arr.length-1)else

}return str;//程式執行結束把新的字串返回給呼叫者

}(3)一維陣列的應用

查表法public static void main(string args)

public static void tohex(int num) ;

0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15 

看過這個表後,我們發現,0-15角標對應的值就是十六進製制裡面所有的元素,剛才我們分析任何數與上15

的結果就是在0到15之間,所以我們把這個結果當作角標值,去表中查詢對應的元素即可

*///定義乙個表,十六進製制裡面的元素分別是0-15

char chs = ;

//定義乙個陣列,目的是把每次這個數與完15後的值,進行儲存

char arr = new char[8];

//定義乙個指標,用於運算元組

int pos = arr.length-1;

if (num == 0)

//當num不等於0的時候我們就讓這個數不斷與上15,和不斷的想右移動四位

while (num != 0)

//把新的陣列進行遍歷輸出,為了可以從頭輸出,不要前面的那些空位,我們把第一次遍歷的位置定義的不是

//零,而是pos指標所指向的位置

for (int x=pos+1;x < arr.length ;x++ )

}2:二維陣列

(1)int arr = new int[3][2];

a:定義了名稱為arr的二維陣列

b:二維陣列中有3個一維陣列

c:每乙個一維陣列中有2個元素

d:一維陣列的名稱分別為arr[0], arr[1], arr[2]

arr:二維陣列名

arr[1]:二維陣列中的第二個陣列名

arr[1][1]:二維陣列中的第二個陣列的第二個元素

e:給第乙個一維陣列1腳標位賦值為78寫法是:arr[0][1] = 78;

(2)格式2:int arr = new int[3];

a: 二維陣列中有3個一維陣列

b: 每個一維陣列都是預設初始化值null

c: 可以對這個三個一維陣列分別進行初始化

arr[0] = new int[3];

arr[1] = new int[1];

arr[2] = new int[2];

(3)int arr = ,,};

a:二維陣列有3個一維陣列。

b:第乙個一維陣列有3個元素

第二個一維陣列有2個元素

第三個一維陣列有4個元素

(4)二維陣列的遍歷

public static void printarray2(int arr2)

system.out.println();}}

(5)二維陣列的應用

求一年的銷售總額。

public static void printarray2(int arr2)

system.out.println("sum =" + sum);}}

陣列學習筆記2

import org.omg.messaging.syncscopehelper public class arraydemo02 system.out.println getmax arr system.out.println getmin arr 選擇排序法和氣泡排序法 1.選擇排序法 sort...

陣列學習 2 二維陣列

二維陣列和一維陣列的區別在於 一維陣列描述的是乙個線列,二位陣列描述的是乙個矩陣。同樣的開始老三步,宣告 引用以及初始化。int a 2 3 float b 4 5 陣列a表示乙個2行3列的矩陣,陣列b表示乙個4行5列的矩陣。二維陣列是具有兩個下標的陣列,兩個下標的乘積代表陣列的長度。比如說陣列a的...

NumPy學習2 建立陣列

1.使用array建立陣列 b array 2,3,4 print b print b.dtype 2.把序列轉化為陣列b array 1.5,2,3 4,5,6 print b 3.函式function建立乙個全是0的陣列,函式ones建立乙個全1的陣列,函式empty建立乙個內容隨機並且依賴與記...