Bài giảng cấu trúc dữ liệu chương 3 nguyễn xuân vinh - Pdf 32

GV: NGUYỄN XUÂN VINH
MÔN: CẤU TRÚC DỮ LIỆU
12/3/15
/17
1

CẤU TRÚC DỮ LIỆU
DATA STRUCTURES
[214331]

MẢNG
(Arrays)
Nguyễn Xuân Vinh
[email protected]


GV: NGUYỄN XUÂN VINH
MÔN: CẤU TRÚC DỮ LIỆU
12/3/15
/17
2

Mảng (Arrays)
 Collection duy nhất được hỗ trợ sẵn trong ngôn ngữ lập trình Java.
 Dùng để lưu trữ một tập các phần tử theo thứ tự và có thể được
truy xuất thông qua chỉ mục index.
 Là lớp con của Object và hiện thực cả 2 interface Serializable và
Cloneable.
 Không có .java source file để xem cách thức làm việc bên trong
của 1 mảng như thế nào.
 Khi tạo ra 1 mảng cần chỉ định kích thước và kiểu dữ liệu, sau đó


 Bước 2: Khởi tạo mảng (Initialization)
names = new String[3];

 Bước 3: Gán giá trị (Assignment)
names[0] = "Leonardo";
names[1] = "da";
names[2] = "Vinci";

 Cách tạo và gán trực tiếp:

String names[] = new String[]{"Leonardo", "da", "Vinci"};
String names[] = {"Leonardo", "da", "Vinci"};

4

/17

12/3/15

String names[] = new String[3]{"Leonardo", "da", "Vinci"}; ???

 Các phần tử trong mảng có thể là:
 Kiểu dữ liệu nguyên thủy (primitive date type).
 Kiểu dữ liệu dạng Object (Reference date type).


5

/17


GV: NGUYỄN XUÂN VINH
MÔN: CẤU TRÚC DỮ LIỆU
12/3/15
/17
8

Mảng đối tượng (Reference data type)
Mảng chỉ chứa các tham chiếu (references) tới đối tượng thật sự


GV: NGUYỄN XUÂN VINH

Mảng đa chiều
 Khi mỗi phần tử của 1 mảng trỏ tới 1 mảng khác, ta có mảng đa
chiều (multidimensional array).
 Khai báo (declaration)

MÔN: CẤU TRÚC DỮ LIỆU

int A[][];

 Khởi tạo (Initialization)
A = new int[3][4];

 Gán giá trị (Assignment)
A[0][0] = 1;

 Truy vấn mảng (Query)
int x = A[1][3];

GV: NGUYỄN XUÂN VINH
MÔN: CẤU TRÚC DỮ LIỆU
12/3/15
/17
11

1) Duyệt mảng
int[] arrays = new int[4];
arrays[0] = 0;
arrays[1] = 1;
arrays[2] = 2;
arrays[3] = 3;
Index of arrays

// Cách 1
for (int i = 0; i < arrays.length; i++) {
System.out.println(arrays[i]);
}
// Cách 2
for (int i : arrays) {
System.out.println(i);
}


GV: NGUYỄN XUÂN VINH
MÔN: CẤU TRÚC DỮ LIỆU
12/3/15
/17
12



GV: NGUYỄN XUÂN VINH
MÔN: CẤU TRÚC DỮ LIỆU
12/3/15
/17
14

4) Hai mảng bằng nhau
 “==”: kiểm tra 2 mảng có cùng vị trí bộ nhớ (memory space) hay
không.
boolean b1 = (array == clone);
 “Arrays.equals()”: kiểm tra 2 mảng có bằng nhau theo nghĩa “tự
nhiên” hay không.
boolean b2 = Arrays.equals(array, clone);


GV: NGUYỄN XUÂN VINH
MÔN: CẤU TRÚC DỮ LIỆU
12/3/15
/17
15

5) Thêm phần tử vào mảng
int[] arrays = new int[4];
// Khi mảng chưa đầy
arrays[0] = 0;
arrays[1] = 1;
arrays[2] = 2;
arrays[3] = 3;
// Khi mảng đã đầy

/17

12/3/15
MÔN: CẤU TRÚC DỮ LIỆU

GV: NGUYỄN XUÂN VINH

HỎI ĐÁP




Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status