tailieunhanh - Cấu trúc dữ liệu : Danh sách liên kết part 2

3. Hủy một phần tử khỏi danh sách Hủy phần tử đầu xâu: Thuật toán : Bắt đầu: Nếu (pHead != NULL) thì B1: p = pHead; // p là phần tử cần hủy B2: B21 : pHead = pHead-pNext; // tách p ra khỏi xâu B22 : free(p); // Hủy biến động do p trỏ đến B3: Nếu pHead=NULL thì pTail = NULL; //Xâu rỗng | Bước 1 p pHead Cho p trỏ đến phần tử đầu danh sách Bước 2 Trong khi p NULL và p- Info k thực hiện p p- pNext Cho p trỏ tới phần tử kế Bước 3 Nếu p NULL thì p trỏ tới phần tử cần tìm Ngược lại không có phần tử cần tìm. Cài đặt 3. Hủy một phần tử khỏi danh sách Hủy phần tử đầu xâu Thuật toán Bắt đầu Nếu pHead NULL thì B1 p pHead p là phần tử cần hủy B2 B21 pHead pHead- pNext tách p ra khỏi xâu B22 free p Hủy biến động do p trỏ đến B3 Nếu pHead NULL thì pTail NULL Xâu rỗng Hủy một phần tử đứng sau phần tử q 6 Thuật toán Bắt đầu Nếu q NULL thì B1 p q- Next p là phần tử cần hủy B2 Nếu p NULL thì q không phải là cuối xâu B21 q- Next p- Next tách p ra khỏi xâu B22 free p Hủy biến động do p trỏ đến Hủy 1 phần tử có khoá k Thuật toán Bước 1 Tìm phần tử p có khóa k và phần tử q đứng trước nó Bước 2 Nếu p NULL thì tìm thấy k Hủy p ra khỏi xâu tương tự hủy phần tử sau q Ngược lại Báo không có k 4. Thăm các nút trên danh sách - Đếm các phần tử của danh sách - Tìm tất cả các phần tử thoả điều kiện - Huỷ toàn bộ danh sách và giải phóng bộ nhớ Thuật toán xử lý các nút trên danh sách Bước 1 7 p pHead Cho p trỏ đến phần tử đầu danh sách Bước 2 Trong khi Danh sách chưa hết thực hiện B21 Xử lý phần tử p B22 p p- pNext Cho p trỏ tới phần tử kế Thuật toán hủy toàn bộ danh sách Bước 1 Trong khi Danh sách chưa hết thực hiện B11 p pHead pHead pHead- pNext Cho p trỏ tới phần tử kế B12 Hủy p Bước 2 Tail NULL Bảo đảm tính nhất quán khi xâu rỗng

TỪ KHÓA LIÊN QUAN