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

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

Đ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

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

Mục lục

  • Slide 1

  • Mảng (Arrays)

  • Tính chất của mảng (Arrays)

  • Tạo mảng (arrays)

  • Giá trị mặc định của mảng

  • Quản lý bộ nhớ mảng (Array Memory Allocation)

  • Mảng dữ liệu nguyên thủy (Primitive data type)

  • Mảng đối tượng (Reference data type)

  • Mảng đa chiều

  • Các phép toán trên mảng

  • 1) Duyệt mảng

  • 2) Copying và Cloning mảng

  • 3) Phép gán mảng

  • 4) Hai mảng bằng nhau

  • 5) Thêm phần tử vào mảng

  • Tóm tắt

  • HỎI ĐÁP

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan