Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
1,16 MB
Nội dung
Ngơn ngữ lập trình CÁC KIỂU DỮ LIỆU TRỪU TƯỢNG Trần Thị Ngân Bộ môn Công nghệ phần mềm, Khoa CNTT -Trường đại học Thủy Lợi Email: ngantt@tlu.edu.vn Nội dung Các nút (Nodes) Danh sách liên kết Ngăn xếp hàng đợi Cây (Trees) 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 Con trỏ xương sống cấu trúc này: 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 ► Cách tiếp cận Có cách để xử lý cấu trúc liệu 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 Sử dụng lớp với biến thành viên private hàm accessor (hàm truy cập) – mutator (hàm biến đổi) Sử dụng lớp bạn Danh sách liên kết sử dụng phương thức (hoặc 2) Ngăn xếp, Hàng đợi sử dụng phương thức Cây sử dụng phương thức ► Nút danh sách liên kết Danh sách liên kết - Là ví dụ đơn giản “cấu trúc liệu động” - Bao gồm nhiều nút Mỗi nút biến kiểu cấu trúc đối tượng 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” ► Ví dụ nút trỏ ►6 Định nghĩa nút struct Node { string name; int data; Node *link; }; typedef Node * List; Chú ý quay vòng (circularity) ► Con trỏ head Đối tượng với nhãn “head” nút: Node *head; - Là trỏ đơn giản tới nút - Trỏ tới nút danh sách Head sử dụng để lưu trữ vị trí danh sách Cũng sử dụng đối số truyền vào hàm ► Ví dụ truy cập nút Lệnh: (*head).data = 12; Đặt biến thành viên data nút trỏ trỏ head 12 Toán tử thay -> - Được gọi tốn tử mũi tên (arrow operator) - Kí hiệu -> kết hợp hai toán tử * - Viết lại câu lệnh bằng: head->data=l2; Lệnh: cin>>head->name; // Gắn chuỗi nhập vào cho biến thành viên item ► 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 ► 10 ... động Thư viện mẫu chuẩn (STL) Có phiên định nghĩa sẵn vài cấu trúc ► Cách tiếp cận Có cách để xử lý cấu trúc liệu 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 Sử dụng... sách liên kết Danh sách liên kết - Là ví dụ đơn giản “cấu trúc liệu động” - Bao gồm nhiều nút Mỗi nút biến kiểu cấu trúc đối tượng lớp (có thể tạo tự động với lệnh new) - Nút bao gồm trỏ trỏ... (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 ► 10 Truy cập liệu nút Các thay đổi danh sách liên kết sau lệnh sau thể hình vẽ: head->count=12; head->item = “bagels”;