陣列定義及應用

2021-09-26 03:07:43 字數 2652 閱讀 1888

一、陣列的定義格式

1、資料型別 陣列名 = new 資料型別[陣列的大小/長度]; — 動態初始化

int arr = new int[5]; – 表示定義了乙個能儲存5個整型元素的陣列

也可以定義為int arr; arr=new int[5];

arr[2] = 5; — 表示向arr陣列中下標為2的位置放入元素5

2、資料型別 陣列名 = new 資料型別; — 靜態初始化

int arr = new int;—同時規定了陣列的長度就是6

也可以定義為int arr;arr = new int;

arr[3] = 7;–表示向arr陣列中下標為三的位置放入元素7

3、資料型別 陣列名 = ;

int arr = ;

注意:不能定義為int arr;arr== ;的格式

注意:當 定義在資料型別後邊,作用範圍是資料型別後邊的所有變數,而定義在變數後邊,則範圍只包括當前變數,即 int a,b;表示a和b都是陣列,而 int a,b;則表示a是乙個陣列,b是乙個變數。

二、陣列的應用

1、獲取陣列中的元素:

陣列名[下標]

例如有乙個陣列int arr = new int;我們要獲取下標為3的元素,則我們可以定義乙個和陣列型別一致的變數來接一下

int i = arr[3]

2、獲取陣列的長度

.length

例如有乙個陣列int arr = new int;我們要獲取陣列 的程度,則我們可以定義乙個整型的變數來接一下

int i = arr.length;

3、迴圈遍歷陣列:

for迴圈和增強for迴圈

for迴圈:

for(int i = 0; i < arr.length; i++)

增強for迴圈:增強for迴圈就是使用乙個變數來接陣列中的乙個元素, 然後迴圈遍歷陣列中的每乙個位置。

for(int i : arr)

4、獲取陣列中的最大值:

我們先定義乙個變數,來記錄陣列中的第乙個位置 的元素,並假設它為最大,然後,我們迴圈遍歷這個陣列,並和這個變數進行比較,如果比這個變數大,就把當前較大的值設為最大值。

int max = arr[0];

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

或者我們也可以利用下標來判斷,我們先定義乙個變數來記錄陣列第乙個位置的下標,並假設這個位置的元素最大,然後,我們迴圈遍歷這個陣列,並將其他下標所儲存的元素和這個變數所儲存的元素進行比較,如果比這個變數所儲存的元素大,就把當前較大的值的下標設為最大值的下標。

int max = 0;

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

5、陣列的排序:

氣泡排序:我們將陣列中相鄰的兩個元素,從左到右依次比較,並按照排序的 規則來確定要不要交換兩個元素的位置,這樣從未到位比較一輪,就能選出一 個最值,然後繼續進行下一輪,通常我們需要比較的輪數等於陣列的長度減一

**為從小到大排序:

for(int i = 1; i < arr.length; i++)}}

快速排序:我們選中陣列中的第一位元素,依次和後邊的元素進行比較,並按 照排序規則確定要不要交換兩個元素的位置,從頭到尾比較一次,選出乙個最值,然後選中第二個比較第二輪,依次類推,比較的輪數為陣列的長度減一

**為從小到大排序:

for(int i = 1; i < arr.length; i++)}}

6、陣列的反**

我們定義兩個變數,分別代表陣列的起始下標和末位下標,然後我們將這兩個位置的元素進行交換,然後起始下標後移一位,末位下標向前移一位,再次進行交換,直到起始下標和末位下標指向同乙個元素,或者起始下標在末位下標後面,則完成反轉

**如下:

for(int start = 0,end = arr.length - 1;start7、陣列元素的查詢:

折半查詢(只能用於有序陣列)

因為陣列中的元素是有序的假如是公升序,我們先找到陣列中間位置的元素,先 判斷我們要找的數字和中間位置數字的關係,如果比中間位置元素小,則我們 去中間位置和起始位置這一段,如果比中間位置元素大,則取中間位置和末尾 這一段,然後再取這一段的中間位置進行比較。

**實現:

int arr = ;

int number = 58;

int min = 0;

int max = arr.length - 1;

int mid = (min + max) / 2;

while(arr[mid] != number) else

if(min > max)

mid = (min + max) / 2;

}8、陣列的複製:

將乙個陣列中已有的資料複製到另乙個陣列中

複製格式:

system.arraycopy(要複製的陣列,要複製的起始下標,要存放的陣列,要存 放的起始下標,要複製的元素的個數);

9、陣列的擴容:

我們說過陣列一旦定義,長度不可變,所以陣列的擴容和數 組的複製型別,都是指向了乙個新的陣列:

擴容格式:

陣列 = arrays.copyof(要擴容的陣列, 擴容之後的長度);

陣列的定義和應用

陣列的定義和應用 對於有些資料,只用簡單的資料型別是不夠的,難以反映出資料的特點,也難以有效地進行處理,因此就需要用到陣列。1基本概念 陣列 具有一定順序關係的若干相同型別資料的集合,為構造資料型別之一。陣列名 為該資料集合起的乙個名字 陣列元素 組成陣列的資料。屬同一資料型別,用陣列名和下標確定。...

JS陣列定義及詳解

js陣列定義及詳解 1 什麼是陣列 陣列就是一組資料的集合 其表現形式就是記憶體中的一段連續的記憶體位址 陣列名稱其實就是連續記憶體位址的首位址 2 關於js中的陣列特點 陣列定義時無需指定資料型別 陣列定義時可以無需指定陣列長度 陣列可以儲存任何資料型別的資料 比如說乙個元素儲存整型,乙個元素儲存...

JS 陣列定義及詳解

1.什麼是陣列 陣列是值的有序集合。每個值叫做元素,每個元素在陣列中都有數字位置編號,也就是索引。js中的陣列是弱型別的,陣列中可以含有不同型別的元素。陣列元素甚至可以是物件或其他陣列。例如 var arr 1,true,null,undefined,1,2 2.陣列定義 總結了四種方式 1.var...