Lập trình C nâng cao bài 21: Hướng dẫn tạo danh sách liên kết đơn và in ra màn hình trong lập trình C

93

Chào mừng các bạn đã đến với học viện công nghệ Vietpro

Đây là bài hướng dẫn trong loạt tài liệu lập trình C nâng cao của Vietpro

Ở buổi học trước, chúng ta đã nghiên cứu về cách đọc và ghi file trong lập trình C (p2)

Bài học ngày hôm nay sẽ gúp các bạn có thể hiểu về cách tạo danh sách liên kết đơn trong lập trình C. Chúng ta cùng tìm hiểu nhé.

[VIDEO TUT]

Bấm Subscribe Nhận video học mới nhất :

Chú ý: Các bạn lựa chọn video ở chế độ 720HD để xem được chất lượng hình ảnh và âm thanh tốt nhất nhé.

Danh sách liên kết đơn

Danh sách liên kết đơn hay còn gọi là linked list. Linked list giúp chúng ta loại bỏ đi những nhược điểm của mảng thường gây ra. Tức là khi làm việc với mảng thường, chúng ta muốn thêm dữ liệu vào giữa cái mảng đó thì chúng ta phải lập trình với thuật toán rất là phức tạp. Cũng như việc chúng ta muốn xóa một dữ liệu ở giữa mảng hay sửa dữ liệu cũng không phải là dễ. Thay vào đó linked list giúp chúng ta thêm, xóa, sửa vào giữa mảng một cách dễ dàng. Tuy nhiên nhược điểm của linked list là chúng ta sẽ tốn bộ nhớ hơn.

  • Cơ chế hoạt động: Bản chất linked list là chúng ta sử dụng cấu trúc struct để chúng ta khai báo. Bao gồm 2 trường thông tin: Trường data và con trỏ chính nó ( con trỏ next ). Tức là dữ liệu đằng sau sẽ nối với dữ liệu đằng trước thông qua con trỏ next trong cấu trúc struct.
  • Cách sử dụng:

Đầu tiên chúng ta tạo khung cho chương trình như đã được hướng dẫn ở các bài trước. Tiếp theo chúng ta viết cấu trúc struct chứa thông tin của dãy số nguyên, trong cấu trúc struct này sẽ có con trỏ tới cấu trúc tiếp theo:

Để tạo một danh sách liên kết đơn, chúng ta cần phải tạo một hàm để người dùng muốn nhập vào bao nhiêu giá trị tùy ý:

Sau đó chúng ta đặt điều kiện nếu pdau rỗng thì tiến hành cấp phát bộ nhớ, nếu pdau có dữ liệu rồi thì trỏ đến dữ liệu tiếp theo rồi cấp phát bộ nhớ cho nó:

Tiếp theo chúng ta viết hàm in ra danh sách và sau đó khai báo trong hàm main để chạy. Cụ thể:

Kết quả:

Các bạn nên thử nhiều ví dụ hơn, làm nhiều bài tập về liên kết đơn hơn để hiểu rõ nó nhé.

Bài học đến đây là kết thúc. Trong bài học tiếp theo, các bạn sẽ được hướng dẫn in danh sách liên kết đơn theo chiều đảo ngược

Chúc các bạn học tốt

Tác giả: Danh Sơn Vietpro

BÌNH LUẬN

Please enter your comment!
Please enter your name here