陣列與排序

2021-09-28 20:22:45 字數 3740 閱讀 5331

(一)基本概念

1、陣列的概念:同一種型別資料的集合,其實陣列就是乙個容器。

2、陣列的好處:可以自動給陣列中的元素從0開始編號,方便操作這些元素。

3、陣列的建立格式:

(1)元素型別 [ ] 陣列名 =new 元素型別 [ ] ;

int [ ] arr = new int [ ] ;

int [ ] arr = ;

(2)元素型別 [ ] 陣列名 = new 元素型別 [元素個數或陣列長度];

int [ ] arr = new int [ 5 ];

( 備註:[ ]放在陣列名前或陣列名後都可以)

4、陣列的分類:

(1)基本資料型別陣列:其中儲存的元素為基本型別資料。

(2)引用型別陣列:元素是物件,其中儲存的是物件的位址值。 引用資料型別的陣列使用規定長度的方式進行初始化時,預設值為null。

例如:student st = new student[3];

(定義乙個名為st、存放student物件的陣列,此陣列中有3個null)

5、陣列的預設初始化值:

(1)整數型陣列 :0

(2)浮點型陣列:0.0

(3)引用型別陣列:null

(4)boolean型別陣列:false

6、 陣列的長度是否可以修改?

陣列的長度是不可修改的,陣列在記憶體連續

7、訪問陣列的元素

陣列名[下標];下標的範圍:0~length-1

8、陣列是引用型別,有哪些屬性和方法?

屬性:長度

方法:只有繼承object的方法

9、引用型別陣列的建立

舉例:建立乙個存放三個學生物件的陣列

//定義乙個名為students、長度為3的學生型別的陣列,此時陣列中三個元素都為null

student[

] students =

newstudent[3

];//建立3個學生物件

student s1 =

newstudent()

; student s2 =

newstudent()

; student s3 =

newstudent()

;// 把3個學生物件,依次放到陣列中

students[0]

= s1;

students[1]

= s2;

students[2]

= s3;

(二)陣列常見操作

1、獲取最值

題目:給定乙個陣列,獲取其最大值和最小值

思路:(1)獲取最值需要比較,每一次比較都會有乙個較大的值,因為該值不確定,通過乙個變數進行臨時儲存。

(2)讓陣列中的每乙個元素都和這個變數中的值進行比較,如果大於了變數中的值,就用該變數記錄較大的值。

(3)當所有元素都比較完成,那麼該變數中儲存的就是陣列中最大值了。

public

class

arraytest

}return max;

}public

static

void

main

(string[

] args)

; int max=

getmax

(arr)

; system.out.

println

("max="

+max);}

}

2、選擇排序

題目:給定乙個陣列,將陣列中的數從小到大排序。

思路:第乙個數依次與後面的數比大小,如果第乙個數比後面的數大,則交換位置,第一輪比較後,最小的數排在第乙個位置上,再從第二個數開始依次與後面的數比大小…直到倒數第二個數與倒數第乙個數比較完,選擇排序結束。

public

class}}

}public

static

void

main

(string[

] args)

;printarray

(arr)

;selectsort

(arr)

;printarray

(arr);}

public

static

void

printarray

(int[

] arr)

+",");

}else

+"]");

}}}}

3、氣泡排序

題目:給定乙個陣列,將陣列中的數從小到大排序。

思路:相鄰的兩個數進行比較大小。首先第乙個數和第二個數比較大小,如果第乙個數比第二個數大,則兩個數調換位置,接著第二個數和第三個數比較大小,如果第二個數比第三個數大,則兩個數調換位置,第一輪下來,最大的數會被調換到最後乙個位置,第二輪與第一輪比較方法相同(最後乙個數不用參與比較),倒數第二大的數會被調換到倒數第二個位置…

public

class}}

}public

static

void

main

(string[

] args)

;printarray

(arr)

;bubblesort

(arr)

;printarray

(arr);}

public

static

void

printarray

(int[

] arr)

+",");

}else

+"]");

}}}}

4、array.sort(arr);

(一)二維陣列的概念:

陣列型別為一維陣列的一維陣列。陣列裡的陣列。

(二)二維陣列的建立格式:

1、陣列型別[ ][ ] 陣列名 = new 陣列型別[ 長度1 ][ 長度2 ] ;

長度2可暫時不給定

例如:int [ ] [ ]  arr = new int [ 3 ] [  2 ] ;

*定義了名稱為arr的二維陣列;

*二維陣列中有三個一維陣列;

*每乙個一維陣列中有2個元素;

*一維陣列的名稱分別為arr[ 0 ]、arr[ 1 ]、arr[ 2 ]

例如:int [ ] [ ] arr = new int [ 3 ] [ ] ;

*定義了名稱為arr的二維陣列;

*二維陣列中有三個一維陣列;

*每個一維陣列都是預設初始化值null;

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

arr [ 0 ] = new int [ 3 ] ;

arr [ 1 ] = new int [ 2 ] ;

arr [ 2 ] = new int [ 1 ] ;

2、陣列型別[ ][ ] 陣列名 = ,

};(三)二維陣列的長度

二維陣列的長度:arr . length ;

二維陣列中第乙個一維陣列的長度:arr [ 0 ] . length ;

C 入門(八)陣列與陣列排序

陣列的定義 陣列是包含若干相同型別的變數,這些變數都是可以通過索引進行訪問的,陣列中的變數稱為陣列的元素,陣列能夠容納元素的數量稱為陣列的長度,陣列中的每個元素都具有唯一的索引與其相對應,陣列的索引從零開始。陣列的型別 陣列分為一維陣列,二維陣列和多維陣列,實際上多維陣列的使用和二維陣列的使用是類似...

C 陣列查詢與排序

陣列查詢物件的方法一種是查詢物件 一種是查詢值 1.查詢物件 person p1 new person 名字1 18 person p2 new person 名字1 19 person p3 new person 名字1 20 person persons 查詢p2 所在陣列中的位置 array....

php陣列與排序 list

list php 3,php 4,php 5 list 把陣列中的值賦給一些變數 說明void list mixed varname,mixed 像 array 一樣,這不是真正的函式,而是語言結構。list 用一步操作給一組變數進行賦值。注意 list 僅能用於數字索引的陣列並假定數字索引從 0 ...