Cấu trúc dữ liệu C++ phần 4

83 373 0
Cấu trúc dữ liệu C++ phần 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải NỘIMaster DUNGTitle Style Click To Edit DANH SÁCH LIÊN KẾT ĐƠN (LIST) Tổ Click Chức Của DSLKMaster Đơn To Edit CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải x0 x1 x2 Title Style x3  Mỗi phần tử liên kết với phần tử đứng liền sau danh sách  Mỗi phần tử danh sách liên kết đơn cấu trúc có hai thành phần  Thành phần liệu: Lưu trữ thông tin thân phần tử  Thành phần liên kết: Lưu địa phần tử đứng sau danh sách NULL phần tử cuối danh sách DSLKTitle đơnStyle Click CTDL To Edit Master CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải  Cấu trúc liệu nút List đơn typedef struct tagNode { Data Info; // Lưu thông tin thân struct tagNode *pNext; //Lưu địa Node đứng sau }Node; pNext  Cấu trúc liệu DSLK đơn Info typedef struct tagList { Node *pHead;//Lưu địa Node List Node *pTail; //Lưu địa Node cuối List }LIST; // kiểu danh sách liên kết đơn Ví dụ tổ chức DSLKMaster đơn nhớ Click To Edit Title Style pHead pTail 4f 3f CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải 4f 5f 5f NULL Trong ví dụ thành phần liệu số nguyên CácClick thao tác bảnMaster DSLK đơn To Edit Title Style  Tạo danh sách liên kết đơn rỗng  Tạo nút có trường Infor x  Tìm phần tử có Info x CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải  Thêm phần tử có khóa x vào danh sách  Hủy phần tử danh sách  Duyệt danh sách  Sắp xếp danh sách liên kết đơn Khởi tạo danh sáchMaster liên kết Click To Edit Title Style  Địa nút đầu tiên, địa nút cuối khơng có void CreateList(List &l) CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải { l.pHead=NULL; l.pTail=NULL; } TạoClick phần TotửEdit Master Title Style  Hàm trả địa phần tử tạo Node* CreateNode(Data x) // học int { Node *p; CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải p = new Node;//Cấp phát vùng nhớ cho phần tử if ( p==NULL) exit(1); p ->Info = x; //gán dữa liệu cho nút p->pNext = NULL; return p; } Thêm phần tử vàoMaster DSLK Click To Edit Title Style  Nguyên tắc thêm: Khi thêm phần tử vào List có làm cho pHead, pTail thay đổi?  Các vị trí cần thêm phần tử vào List: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải  Thêm vào đầu List đơn  Thêm vào cuối List  Thêm vào sau phần tử q list Thuật toánTo thêm phần tử vào đầuStyle DSLK Click Edit Master Title  Thêm nút p vào đầu danh sách liên kết đơn Bắt đầu: Nếu List rỗng CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải + pHead = p; + pTail = pHead; Ngược lại + p->pNext = pHead; + pHead = p CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải Hàm thêmTo phần vào đầuTitle List Click EdittửMaster void AddHead(LIST &l, Node* p) { if (l.pHead==NULL) { l.pHead = p; l.pTail = l.pHead; } else { p->pNext = l.pHead; l.pHead = p; } } Style ... Nếu List rỗng CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải + pHead = p; + pTail = pHead; Ngược lại + p->pNext = pHead; + pHead = p CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải... Nếu List rỗng CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải + pHead = p; + pTail = pHead; Ngược lại + pTail->pNext=p; + pTail=p CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải... Bắt đầu: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật giải Nếu (q!=NULL) B1: p->pNext = q->pNext B2: + q->pNext = p + q = pTail pTail=p CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trúc liệu thuật

Ngày đăng: 15/12/2013, 16:41

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan