Danh sách liên kết dùng cấp phát động, co giãn. Là tập hợp nút.
Nút có hai phần: dữ liệu và liên kết.

Thao tác trên danh sách liên kết
- Chèn
- Xóa
- Duyệt
Xóa
- Xác định nút.
- Điều chỉnh liên kết để giải phóng không làm ngắt danh sách.
- Trả về/hiển thị phần tử xóa.
- Giải phóng bộ nhớ.
Xóa phần tử đầu (Head)
Các bước xóa head:
1. void del_head()
2. {
3. int x; Node *temp;
4. if(Head == NULL) { printf("Danh sach rong"); return; }
5. x = Head->ele;
6. temp = Head;
7. if(Head == Tail) Head = Tail = NULL;
8. Else Head = Head->next;
9. printf("Da xoa %d", x);
10. free(temp);
11. }
Giải thích:
Bước 4 - Kiểm tra rỗng.
Bước 5 - Đọc phần tử xóa.
Bước 6 - Head tham chiếu bởi temp.
Bước 7 - Kiểm tra xóa cuối cùng.
Bước 8 - Di chuyển head sang phần tử tiếp theo.
Bước 9 - Hiển thị phần tử xóa.
Bước 10 - Giải phóng bộ nhớ.
Xóa phần tử cuối (Tail)
Các bước xóa tail:
1. void del_tail()
2. {
3. int x; Node *temp;
4. if(Head == NULL) { printf("Danh sach rong"); return; }
5. temp = Head;
6. while(temp->next != Tail) temp = temp->next;
7. x = Tail->ele;
8. Tail = temp;
9. Temp = temp->next;
10. Tail->next = NULL;
11. printf("Da xoa %d", x);
12. free(temp);
13. }
Giải thích:
Bước 4 - Kiểm tra rỗng.
Bước 5-6 - Di chuyển temp đến nút倒数 thứ 2.
Bước 7 - Đọc tail element.
Bước 8 - Di chuyển tail về nút倒数 thứ 2.
Bước 9 - Di chuyển temp đến nút cuối.
Bước 10 - Xóa tham chiếu tail->temp.
Bước 11 - Hiển thị phần tử xóa.
Bước 12 - Giải phóng bộ nhớ.