Bài giảng Ngôn ngữ lập trình: Bài 10 - Lê Nguyễn Tuấn Thành - Trường Đại Học Quốc Tế Hồng Bàng

10 12 0
Bài giảng Ngôn ngữ lập trình: Bài 10 - Lê Nguyễn Tuấn Thành - Trường Đại Học Quốc Tế Hồng Bàng

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

Thông tin tài liệu

Cây (Trees).[r]

(1)

NGƠN NG LP TRÌNH

Bài 10:

Các Kiểu Dữ Liệu Trừu Tượng: Danh sách liên kết,

Ngăn xếp, Hàng đợi

Giảng viên: Lê Nguyễn Tuấn Thành Email: thanhlnt@tlu.edu.vn

Bộ Môn Công Nghệ Phần Mềm – Khoa CNTT

(2)

NỘI DUNG

1 Các nút (Nodes) Danh sách liên kết

1 Tạo, tìm kiếm

2 Ứng dụng danh sách liên kết Ngăn xếp (Stacks),

2 Hàng đợi (Queue)

3 Lớp bạn

3 Iterators

1 Con trỏ iterators

(3)

GIỚI THIỆU

 Danh sách liên kết

 Được xây dựng sử dụng trỏ

 Tăng giảm kích thước thời gian chạy

 Cây sử dụng trỏ

 Con trỏ xương sống của những cấu trúc

 Sử dụng biến động

 Thư viện mẫu chuẩn (STL)

 Có phiên định nghĩa sẵn vài cấu

trúc

(4)

CÁCH TIẾP CẬN

 Có cách để xử lý những cấu trúc dữ liệu

1 Cách tiếp cận C-style: sử dụng hàm cấu trúc toàn

cục với thứ public

2 Sử dụng lớp với biến thành viên private

hàm accessor – mutator

3 Sử dụng lớp bạn

(5)

NÚT VÀ DANH SÁCH LIÊN KẾT

 Danh sách liên kết

 Một ví dụ đơn giản “cấu trúc liệu động”  Bao gồm nhiều nút

 Mỗi nút một biến kiểu cấu trúc hoặc đối tượng

của lớp (có thể tạo tự động với lệnh new)

 Nút bao gồm trỏ trỏ tới nút khác  Cung cấp “sự liên kết”

(6)(7)

ĐỊNH NGHĨA NÚT

struct ListNode

{

string item; int count;

ListNode *link; };

typedef ListNode* ListNodePtr;

 Chú ý sự tuần hoàn (circularity)

(8)

CON TRỎ HEAD

 Đối tượng với nhãn “head” không phải một nút:

ListNodePtr head;

 Là trỏ đơn giản tới nút  Chỉ tới nút danh sách

 Head được sử dụng để lưu trữ vị trí đầu tiên

danh sách

(9)

VÍ DỤ VỀ TRUY CẬP NÚT

(*head).count = 12;

 Đặt biến thành viên count nút trỏ trỏ head

bằng 12

 Toán tử alternate ->

 Được gọi toán tử mũi tên (arrow operator)

 Kí hiệu viết tắt kết hợp hai toán tử *  Viết lại câu lệnh bằng: head->count=12;

cin>>head->item:

 Gắn chuỗi nhập vào cho biến thành viên item

(10)

DẤU HIỆU KẾT THÚC (END MARKERS)

 Sử dụng NULL cho trỏ nút

 Được xem “lính canh” (sentinel) cho nút  Chỉ định khơng cịn liên kết sau nút

 Cung cấp dấu hiệu kết thúc tương tự như cách

chúng ta sử dụng mảng được lấp đầy một phần

Ngày đăng: 01/04/2021, 14:48

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

Tài liệu liên quan