1. Trang chủ
  2. » Công Nghệ Thông Tin

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

17 246 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 292,83 KB

Nội dung

GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /17 CẤU TRÚC DỮ LIỆU DATA STRUCTURES [214331] MẢNG (Arrays) Nguyễn Xuân Vinh nguyenxuanvinh@hcmuaf.edu.vn GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /17 Mảng (Arrays)  Collection hỗ trợ sẵn ngôn ngữ lập trình Java  Dùng để lưu trữ tập phần tử theo thứ tự truy xuất thông qua mục index  Là lớp Object thực interface Serializable Cloneable  Khơng có java source file để xem cách thức làm việc bên mảng  Khi tạo mảng cần định kích thước kiểu liệu, sau đưa phần tử có kiểu định sẵn vào mảng mảng đầy GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /17 Tính chất mảng (Arrays)  Ưu điểm:  Truy xuất nhanh  Sử dụng đơn giản  Nhược điểm:  Phải định kích thước cụ thể thời điểm xây dựng mảng  Tuân thủ luật đầy  Việc bố trị lại phức tạp GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU Tạo mảng (arrays)  Bước 1: Khai báo mảng (Declaration) String[] names; Có cách đặt dấu []?  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 gán trực tiếp: String names[] = new String[]{"Leonardo", "da", "Vinci"}; String names[] = {"Leonardo", "da", "Vinci"}; /17 12/3/15 String names[] = new String[3]{"Leonardo", "da", "Vinci"}; ???  Các phần tử mảng là:  Kiểu liệu nguyên thủy (primitive date type)  Kiểu liệu dạng Object (Reference date type) 5 /17 12/3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giá trị mặc định mảng /17 12/3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Quản lý nhớ mảng (Array Memory Allocation) GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /17 Mảng liệu nguyên thủy (Primitive data type) Mảng chứa giá trị thực GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /17 Mảng đối tượng (Reference data type) Mảng chứa tham chiếu (references) tới đối tượng thật GV: NGUYỄN XUÂN VINH Mảng đa chiều  Khi phần tử mảng trỏ tới 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]; /17 12/3/15 x=? GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /17 10 Các phép toán mảng 1) 2) 3) 4) 5) Duyệt mảng Copy clone mảng Phép gán mảng Kiểm tra mảng Thêm phần tử vào mảng 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 for (int i = 0; i < arrays.length; i++) { System.out.println(arrays[i]); } // Cách 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 2) Copying Cloning mảng  Để chép phần tử từ mảng sang mảng khác ta dùng System.arraycopy(): int[] arrays = new int[10]; // Cách int[] clone1 = new int[10]; System.arraycopy(arrays, 0, clone1, 0, 10); // Cách int[] clone2 = Arrays.copyOfRange(arrays, 0, 10); // Cách int[] clone3 = new int[10]; for(int i=0; i

Ngày đăng: 03/12/2015, 00:36

TỪ KHÓA LIÊN QUAN