1. Trang chủ
  2. » Tất cả

Danh sách liên kết, ngăn xếp, hàng đợi ctdl week4

2 2 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Danh sách liên kết, ngăn xếp, hàng đợi ctdl week4
Tác giả Bùi Huy Thông, Lê Thanh Tùng
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Cấu trúc dữ liệu và Giải thuật
Thể loại Bài tập thực hành
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 2
Dung lượng 87,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÀI TẬP THỰC HÀNH 04 Danh sách liên kết Ngăn xếp Hàng đợi Bài tập này sẽ được làm trong 2 tuần 1 Bài tập 1 1 Danh sách liên kết Mỗi Node của danh sách liên kết (DSLK) đơn được định nghĩa như sau struc[.]

Trang 1

BÀI TẬP THỰC HÀNH 04

Danh sách liên kết - Ngăn xếp - Hàng đợi

Bài tập này sẽ được làm trong 2 tuần

1 Bài tập

1.1 Danh sách liên kết

Mỗi Node của danh sách liên kết (DSLK) đơn được định nghĩa như sau:

struct NODE{

int key;

NODE* pNext;

};

Sinh viên tiến hành cài đặt các hàm sau:

• NODE* CreateNode{int data} //Khởi tạo 1 node

• bool AddHead(NODE* &pHead, int Data) //Thêm 1 Node vào đầu DSLK có sẵn

• bool AddTail(NODE* pHead, int Data) // Thêm 1 Node vào cuối DSLK có sẵn

• void RemoveHead(NODE* &pHead) //Xoá Node đầu tiên của DSLK

• void RemoveTail(NODE* pHead) //Xoá Node cuối cùng của DSLK

• void RemoveAll(NODE* &pHead) //Xoá toàn bộ DSLK

• void PrintList(NODE* pHead) //In ra toàn bộ DSLK

• int SumList(NODE* pHead) //Tính tổng giá trị các phần tử của DSLK

• int CountList(NODE* pHead) //Đếm số lượng phần tử của DSLK

• int MaxList(NODE* pHead) //Tìm phần tử có giá trị lớn nhất trong DSLK

1

Trang 2

Bùi Huy Thông - Lê Thanh Tùng CTDL&GT

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

- Cấu trúc Ngăn xếp được định nghĩa như sau:

struct Stack{

NODE* pHead;

int MAX_DEPTH;

};

Sinh viên tiến hành cài đặt các thao tác sau:

• void push(Stack S, int a)

• int pop(Stack S)

• bool isEmpty(Stack S)

• bool isFull(Stack S)

• int sizeof(Stack S)

- Cấu trúc Hàng đợi được định nghĩa như sau:

struct Queue{

NODE* pHead;

int MAX_LENGTH;

};

• void enQueue(Queue Q, int a)

• int deQueue(Queue Q)

• bool isEmpty(Queue Q)

• bool isFull(Queue Q)

• int sizeof(Queue Q) [Không bắt buộc: Sinh viên cài đặt các cấu trúc dữ liệu ở trên và hàm tương ứng sử dụng Lập trình Hướng đối tượng]

2 Quy định nộp bài

• Sinh viên nộp bài trong thư mục MSSV bao gồm thư mục Code chưa mà nguồn và file Report.pdf (nếu có)

• Sinh viên nộp bài dưới dạng MSSV.rar(.zip)

• Các bài làm giống nhau sẽ bị 0 điểm môn học

Ngày đăng: 25/03/2023, 08:34