Tải bản đầy đủ (.pdf) (13 trang)

Udql1 05 ky thuat xu ly danh sach

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (56.59 KB, 13 trang )

Lập trình Ứng dụng Quản lý 1
Chương 05:
Kỹ thuật xử lý danh sách
GV. Trương Phước Lộc
09/2017


Khoa CNTT-ĐH.KHTN

Nội dung
1. Mảng 1 chiều
2. Mảng 2 chiều
3. Đối tượng danh sách

GV. Trương Phước Lộc

2


Khoa CNTT-ĐH.KHTN

1. Mảng 1 chiều
• Mảng 1 chiều trong VB.NET thực chất là lớp
System.Array
• Thuộc tính
▫ Length: số phần tử của mảng
▫ Rank: số chiều của mảng

• Phương thức
▫ Clone(): tạo bản sao của mảng
▫ GetLength(i): trả về số phần tử của chiều thứ i của


mảng
▫ CopyTo : sao chép các phần tử của mảng sang một
mảng khác
GV. Trương Phước Lộc

3


Khoa CNTT-ĐH.KHTN

1. Mảng 1 chiều
• Phương thức tĩnh:





Copy
Find / FindAll / FindIndex / FindLast / FindLastIndex
IndexOf / LastIndexOf
Sort

GV. Trương Phước Lộc

4


Khoa CNTT-ĐH.KHTN

1. Mảng 1 chiều – các thao tác

• Duyệt mảng
▫ Một vịng lặp để duyệt từng phần tử

• Tìm kiếm
▫ Duyệt từng phần tử, phần tử nào thỏa điều kiện thì trả
về vị trí
▫ Tìm tất cả => tạo mảng chứa kết quả

• Tìm giá trị nhỏ nhất
▫ Giá trị được cập nhật đổi nếu phần tử đang xét thỏa
điều kiện

• Tính tổng của mảng
▫ Duyệt từng phần tử, giá trị của phần tử sẽ được cộng
vào biến kết quả
GV. Trương Phước Lộc

5


Khoa CNTT-ĐH.KHTN

1. Mảng 1 chiều – các giải thuật
• Chèn thêm phần tử vào vị trí cho trước
▫ Tăng kích thước mảng thêm một phần tử
▫ Dịch chuyển các phần tử từ vị trí cho trước ra sau
một phần tử
▫ Gán phần tử muốn thêm vào vị trí cho trước.

• Xóa phần tử tại vị trí cho trước

▫ Dịch chuyển các phần tử sau vị trí cho trước ra
trước một phần tử
▫ Giảm kích thước mảng đi một phần tử

• Sắp xếp tăng
▫ Tùy thuật toán
GV. Trương Phước Lộc

6


Khoa CNTT-ĐH.KHTN

1. Bài tập áp dụng
Viết một chương trình, cho phép người dùng
• Nhập vào danh sách các số nguyên
• Xuất phần tử lớn nhất trong mảng
• Xuất ra tất cả vị trí của phần tử lớn nhất trong
mảng
• Xuất phần tử lớn thứ hai trong mảng
• Xuất số nguyên nhỏ nhất trong mảng
• Xuất số nguyên đứng cuối cùng trong mảng
• Sắp xếp mảng giảm dần và xuất ra mảng đã
sắp xếp
GV. Trương Phước Lộc

7


Khoa CNTT-ĐH.KHTN


1. Sử dụng các hàm tìm kiếm
▫ Find / FindAll / FindIndex / FindLast / FindLastIndex

• Các tham số:
▫ array: mảng muốn tìm kiếm
▫ Match : hàm kiểm tra điều kiện, có định dạng
Predicate(Of T)

GV. Trương Phước Lộc

8


Khoa CNTT-ĐH.KHTN

2. Mảng hai chiều
• Cú pháp khai báo mảng.
int nums[][];
int nums[,];

• Cấp phát lại số phần tử mảng.
nums = new int[3]
nums = new int[3,4];

GV. Trương Phước Lộc

9



Khoa CNTT-ĐH.KHTN

3. Đối tượng danh sách
Một số đối tượng dùng lưu trữ danh sách
• List<kieu_du_lieu>
• ArrayList
• SortedList
• Hashtable
=> Khởi tạo bằng hàm new

GV. Trương Phước Lộc

10


Khoa CNTT-ĐH.KHTN

3. Đối tượng danh sách
• Thuộc tính
▫ Count: số phần tử của mảng
▫ Capacity : khả năng chứa của danh sách

• Phương thức






Find / FindIndex / FindLast / FindAll

Add / AddRange / Insert / InsertRange
Remove / RemoveAt / RemoveAll / Clear
CopyTo
IndexOf

GV. Trương Phước Lộc

11


Khoa CNTT-ĐH.KHTN

3. Đối tượng danh sách








Duyệt mảng
Tìm kiếm
Tìm giá trị nhỏ nhất
Tính tổng của mảng
Chèn thêm phần tử vào vị trí cho trước
Xóa phần tử tại vị trí cho trước
Sắp xếp tăng

GV. Trương Phước Lộc


12


Khoa CNTT-ĐH.KHTN

Câu hỏi

GV. Trương Phước Lộc

13



×