bài tập lớn đề tài quản lý các số nguyên dùng dslk đôi

14 1 0
Tài liệu đã được kiểm tra trùng lặp
bài tập lớn đề tài quản lý các số nguyên dùng dslk đôi

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG ÁBÀI TẬP LỚNHỌC PHẦN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTĐỀ TÀI: QUẢN LÝ CÁC SỐ NGUYÊN DÙNG DSLK ĐÔISinh viên thực hiệnKhóaLớpMã sinh viên.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

BÀI TẬP LỚN

HỌC PHẦN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTĐỀ TÀI: QUẢN LÝ CÁC SỐ NGUYÊN DÙNG DSLK ĐÔI

Sinh viên thực hiệnKhóaLớpMã sinh viên

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Trang 3

MỤC LỤC:

I Danh sách liên kết đôi 5

II Cấu trúc dữ liệu của danh sách liên kết đôi 5

- Cấu trúc của một Node 4

- Cấu trúc danh sách liên kết đôi 6

III Các thao tác trong danh sách liên kết đôi 6

IV Bài toán 8

Trang 4

DANH MỤC BẢNG BIỂU, HÌNH VẼ:

Hình 1.1 Ví dụ về danh sách liên kết đôi 5

Hình 2.1 Cấu trúc của một node 5

Hình 2.2 Xây dựng danh sách liên kết kép 6

Hình 2.3 Cấu trúc danh sách liên kết đôi 6

Hình 3.1 Chèn vào đầu List 7

Hình 3.2 Chèn vào cuối List 8

Hình 3.3 Xuất thông tin ra màn hình 8

Hình 4.1 Sơ đồ nhập vào chuỗi a 9

Trang 5

I Danh sách liên kết đôi

- Danh sách liên kết đôi (Doubly linked list) là danh sách liên kết mà mỗi phần tử có hai liên kết đến phần tử liền trước và liền sau nó.

- Khi duyệt các nút sẽ thực hiện theo hai chiều về trước và về sau thay vì thực hiền duyệt một chiều như danh sách liên kết đơn.

Hình 1.1 Ví dụ về danh sách liên kết đôi

II Cấu trúc dữ liệu của danh sách liên kết đôi

- Cấu trúc của một Node:

Mô Ut node trong danh sách liên kết kép đươꄣc cấu thành tư뀀 ba thành phần là dư뀃 liê Uu và phần kết nối tới node kế tiếp và node trước nó.

Hình 2.1 Cấu trúc của một node Trong đó:

o Data: Là giá trị của Node o Prev: Là con trỏ tới node trước o Next: Là con trỏ tới node kế tiếp

Xây dựng danh sách liên kết kép bởi liên kết các node với nhau.

Trang 6

Hình 2.2 Xây dựng danh sách liên kết kép - Cấu trúc danh sách liên kết đôi:

Hình 2.3 Cấu trúc danh sách liên kết đôi

III Các thao tác trong danh sách liên kết đôi

Trong danh sách liên kết đôi cũng có các thao tác tương tự như danh sách liên kết đơn, các thao tác này đươꄣc sử dụng rất nhiều khi làm việc với DSLK.

Tạo Node mới trong DSLK đôi Chèn Node trong DSLK đôi Xóa Node trong DSLK đôi Duyệt DSLK đôi

Tìm kiếm và sắp xếp trong DSLK đôi

Chèn Node trong danh sách liên kết đôi có hai trường hơꄣp là: chèn vào đầu, chèn vào cuối.

Xóa Node trong danh sách liên kết đôi cũng có hai trường hơꄣp là: xóa ở đầu và xóa ở cuối.

Việc chèn dư뀃 liệu vào đầu trong danh sách liên kết kép:

Trang 7

Hình 3.1 Chèn vào đầu List • Nếu head = NULL, ta sẽ cho cả head và tail = newNode.

• Nếu head != NULL, ta sẽ cập nhật lại head mới là newNode Ta cần tạo liên kết giư뀃a head hiện tại với newNode trước khi cho newNode làm head mới Việc chèn dư뀃 liệu vào cuối trong danh sách liên kết kép:

Hình 3.2 Chèn vào cuối List • Nếu head = NULL, newNode sẽ là head và tail luôn

• Nếu head != NULL, cập nhật lại tail mới là newNode Ta cần tạo liên kết thằng tail hiện tại với newNode trước khi để newNode làm tail mới.

Duyệt danh sách liên kết:

Hình 3.3 Xuất thông tin ra màn hình

Trang 8

• Ta sẽ duyệt bắt đầu tư뀀 Node head cho tới trước khi gặp Node NULL bằng cách dùng con trỏ next.

IV Bài toán

Cho một danh sách lưu trư뀃 các số nguyên Viết chương trình tạo menu thực hiện các chức năng 1,2,3.

1 Khởi tạo danh sách, quá trình nhập sẽ dư뀀ng lại khi nhấn # 2 Nhập vào một số k, đếm các số = k, thông báo số lươꄣng số đếm đươꄣc là

Trang 9

Hình 4.3 Khởi tạo Kết quả:

Trang 10

Hình 4.4 Kết quả câu 1 - Yêu cầu 2:

Sơ đồ:

Trang 11

Hình 4.5 Sơ đồ câu 2 Code:

Hình 4.6 Nhập vào số đếm k, số đó là chẵn hay lẻ Kết quả:

Trang 13

Hình 4.9 Tính trung bình cộng các số lẻ dương Kết quả:

Hình 4.10 Kết quả câu 3 - Tạo Menu:

Trang 14

Hình 4.11 Tạo Menu

Hình 4.12 Tạo Menu

Ngày đăng: 04/05/2024, 14:22

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

Tài liệu liên quan