Mục tiêu

Triển khai lớp LinkedList đơn giản- Luyện tập cài đặt cấu trúc LinkedList đơn giản.

Mô tả- Triển khai lớp LinkedList đơn giản

Trong phần này, chúng ta sẽ phát triển một chương trình cho phép cài đặt cấu trúc LinkedList đơn giản để lưu một tập dữ liệu bất kỳ. Chương trình gồm 2 lớp Node và LinkList như sơ đồ mô tả sau:

Lớp Node chứa thông tin về một node trong danh sách liên kết.

Bao gồm:

  • Thuộc tính data
  • Thuộc tính node đằng sau.
  • Phương thức đọc dữ liệu của node

Lớp LinkList bao gồm:

  • Node đầu tiên
  • Node cuối cùng
  • Số lượng node
  • Phương thức thêm một node vào đầu
  • Phương thức thêm một nốc vào phía sau
  • Phương thức lấy ra số lượng node
  • Phương thức đọc linkedlist

Hướng dẫn- Triển khai lớp LinkedList đơn giản 

Bước 1: Lớp Node: Tạo mới một tệp với tên Node.php

Mã PHP:

Bước 2: Lớp LinkList: Tạo mới một tệp với tên LinkList.php

Mã PHP:

Bước 3: Tạo phương thức thêm node vào đầu Danh sách

Mục đích: Thêm đối tượng vào vị trí đầu tiên trong danh sách

Tại lớp LinkList tạo phương thức insertFirst() để thêm một node vào phía đầu của danh sách

Mã PHP:

Ở đoạn code trên, ban đầu sẽ khởi tạo một node mới : $link = new Node($data);

Sau đó sẽ gán node kế sau của node mới khởi tạo là node đầu tiên của linklist: $link->next = $this->firstNode;

Câu lệnh $this->firstNode = $link; sẽ gán tiếp node đầu của danh sách là node mới khởi tạo.

Kiểm tra, nếu node mới khởi tạo là node đầu tiên được thêm vào danh sách thì sẽ đặt node đó là node cuối cùng của danh sách.

Cuối cùng ta tăng kích thước của danh sách lên 1 đơn vị.

Bước 4: Tạo phương thức thêm node vào phía sau Danh sách

Mục đích: Thêm đối tượng vào vị trí cuối cùng trong danh sách

Mã PHP:

Ở đoạn code trên, sẽ kiểm tra nếu danh sách đã tồn tại node bên trong thì sẽ khởi tạo một node mới  ($link = new Node($data);).

Sau đó gán node kế tiếp phía sau của node cuối cùng hiện tại là node mới khởi tạo ($this->lastNode->next = $link;).

Vì là node cuối cùng nên node kế phía sau sẽ được gán giá trị NULL ($link->next = NULL;).

Câu lệnh $this->lastNode = $link; có nghĩa là gán node mới khởi tạo là node cuối cùng của danh sách.

Sau đó tăng kích thước của danh sách lên một đơn vị.

Bước 5: Tạo phương thức lấy ra số lượng node

Mục đích: Lấy ra số lượng các node được thêm vào danh sách

Mã PHP:

Bước 6: Tạo phương thức đọc ra Danh sách

Mục đích: Hiển thị danh sách các phần tử trong danh sách

Mã PHP:

Bước 7: Tạo lớp để chạy thử

Tạo một file với tên LinkedListMain.php và khởi tạo một đối tượng LinkedList. Sau đó gọi đến các phương thức để thêm các phần tử mới vào phía đầu và cuối , sau đó lấy ra tổng số lượng node, cuối cùng hiển thị toàn bộ các phần tử của LinkedList ra.

Mã PHP:

Mã nguồn tham khảo: https://github.com/codegym-vn/php-linkedlist

Tổng kết

Qua bài tập trên chúng ta đã luyện tập:

  • Kỹ năng cài đặt một LinkedList đơn giản

Trên đây CodeGym đã cùng với bạn luyện tập cài đặt cấu trúc LinkedList đơn giản. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!