Danh Sách Liên Kết (Linked List) Trong C

  -  
Danh sách liên kết solo | Khiêm Lê

Danh sách liên kết đơn là gì?

Danh sách link đối chọi (Single Linked List) là 1 trong kết cấu tài liệu đụng, nó là một trong những danh sách mà lại từng bộ phận đều liên kết với thành phần đúng sau nó vào list. Mỗi bộ phận (được Điện thoại tư vấn là 1 node xuất xắc nút) vào list links solo là 1 trong những kết cấu bao gồm nhị thành phần:

Thành phần dữ liệu: lưu lại thông báo về bản thân phần tử đó.Thành phần liên kết: lưu lại liên tưởng thành phần lép vế trong list, nếu như phần tử chính là phần tử ở đầu cuối thì nguyên tố này bằng NULL.


Bạn đang xem: Danh sách liên kết (linked list) trong c

1001 Tips: Con trỏ và hàm (Pointer và Function) vào C++


Xem thêm: Thế Giới Di Động Ứng Phó Với Đại Dịch: Cắt Gọt Hàng Tồn Kho Và Nợ Vay Hàng Nghìn Tỉ Đồng, Thúc Đẩy Mua Bán Online

Code game rắn săn uống mồi bên trên console bằng C++


Xem thêm: Zalo Trên Laptop Phiên Bản Mới Nhất 2021, Cài Zalo Trên Máy Tính, Setup Zalo Cho Pc, Laptop

*
*
*
*
*
Thêm thành phần vào sau cùng nút ít Q vào danh sách link đơn

Trong hình trên, ta thêm node tất cả data bởi 4 (node p) vào sau node có data bằng 3 (node q). Ta trỏ next của node p vào next của node q Có nghĩa là node tất cả data bằng 5, tiếp đến trỏ next của node q vào node p vậy là node p đã có được chế tạo list.

Xóa phần tử ngoài danh sách

Xóa sinh sống đầu

Để xóa bộ phận sống đầu list, ta khám nghiệm coi danh sách kia bao gồm trống rỗng hay là không, giả dụ trống rỗng, ta không cần xóa, trả về tác dụng là 0. Nếu list ko rỗng, ta triển khai lưu giữ node head lại, sau đó gán head bởi next của node head, sau đó xóa node head đi. Tiếp theo ta buộc phải chất vấn xem list vừa bị xóa đi node head bao gồm rỗng hay không, trường hợp trống rỗng ta gán lại tail bằng NULL luôn luôn sau đó trả về tác dụng 1.

int RemoveHead(LinkedList& l, int& x)if (l.head != NULL)Node* node = l.head;x = node->data; // Lưu quý hiếm của node head lạil.head = node->next;delete node; // Hủy node head điif (l.head == NULL)l.tail = NULL;return 1;return 0;