17. luu tru dsach lket = con tro
17. Phương pháp lưu trữ danh sách liên kết bằng con trỏ ? Cho ví dụ minh hoạ ?
Cấu trúc cơ bản để lưu trữ các nút của dslk là các bản ghi chứa 2 trường data và next. Trường data có kiểu thích hợp để lưu trữ 1 phần tử của danh sách, còn trường next sẽ chứa 1 lk chỉ đến phần tử đứng sau. Tuy nhiên khác với cách cài đặt trên cơ sở mảng lk này sẽ là con trỏ chứ không phải là chỉ số trong mảng
Để truy cập vào dslk ta dùng 1 con trỏ, trỏ vào nút đầu tiên. Quá trình truy nhập đến 1 nút nào đó trong ds luôn luôn theo trình tự tù nút t1 trở đi
….
Cho L là con trỏ, trỏ vào nút đầu tiên của dslk, M là con trỏ khác, trỏ vào 1 nút trong ds
+ xét bài toán bổ sung vào sau nút M 1 nútmowis mà trường Data của nó có giá trị là X
Th1 : L = nil ta có ds:
…
Th2 : L khác nil
…
Như vậy để bố sung 1 phần tử vào danh sách ta không cần đặt phần tử đó theo nghĩa cơ học vào danh sách ban đầu mà chỉ cần chỉnh lại con trỏ của phần tử đứng trước và sau nó. Tức là phần tử M trỏ vào X và X trỏ vào C
+ xét bài toán loại bỏ phần tử bởi M
Th1: dsach rỗng
Th2: Nút trỏ bởi M là nút đầu tiên của ds
…
Ta chỉnh con trỏ L vào nút thứ 2 của ds
Th3: NÚt M ở giửa ds
…
Như vậy để loại bỏ phần tử trỏ bởi M ra khỏi Ds ta chỉ cần tchinhr con trỏ của nút đứng trước M trỏ vào nút đứng sau M, điều đó có nghĩa là đã loại nút M ra khỏi ds.
Bạn đang đọc truyện trên: Truyen4U.Com