tailieunhanh - Cấu trúc dữ liệu và giải thuật - chương 4

Chương 4 của bộ slide bài giảng đầy đủ về môn CTDL & GT của trường ĐHBK . Trình bày ngắn gọn dễ hiểu với những hiệu ứng minh họa sinh động. Giúp các bạn biết thêm về stack và queue liên kết là như thế nào? Mời các bạn tham khảo! | CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT (501040) Chương 4: Stack và Queue liên kết Con trỏ Biểu diễn con trỏ bằng C++ Khai báo biến: Item * item_ptr1, * item_ptr2; Tạo mới đối tượng: item_ptr1 = new Item; Hủy bỏ đối tượng: delete item_ptr1; Sử dụng: *item_ptr1 = 1378; cout StudentID; Con trỏ NULL: item_ptr2 = NULL; Sử dụng con trỏ trong C++ Địa chỉ của biến: Biến: int_ptr = &x; Array: arr_ptr = an_array; Dynamic array: Trong C++, array có thể được quản lý như một con trỏ và ngược lại Ví dụ: int arr[3] = {0, 1, 2, 3}; int *arr_ptr = arr; //in ra 0 – 1 – 2 cout struct Node { Entry entry; // data members Node *next; Node( ); // constructors Node(Entry item, Node *add on = NULL); }; Ví dụ với node liên kết Node first_node(‘a’); Node *p0 = &first_node; Node *p1 = new Node(‘b’); p0->next = p1; Node *p2 = new Node(‘c’, p0); p1->next = p2; a first_node p0 b p1 c p2 Stack liên kết Khai báo stack liên kết template class Stack { public: Stack( ); bool empty( ) const; Error_code push(const Entry &item); Error_code pop( ); Error_code top(Entry &item) const; Stack(const Stack ©); ~Stack(); void operator=(const Stack ©); protected: Node *top_node; }; Thêm vào một stack liên kết Giải thuật 1. Tạo ra một node mới với giá trị cần thêm vào 2. Trỏ nó đến đỉnh hiện tại của stack 3. Trỏ đỉnh của stack vào node mới new node new_top top_node old top middle last Bỏ đỉnh của một stack liên kết Giải thuật: 1. Gán một con trỏ để giữ đỉnh của stack 2. Trỏ đỉnh của stack vào node ngay sau đỉnh hiện tại 3. Xóa node cũ đi old_top top_node old top middle old last Thêm/Bỏ đỉnh của một stack liên kết – Mã C++ template . | CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT (501040) Chương 4: Stack và Queue liên kết Con trỏ Biểu diễn con trỏ bằng C++ Khai báo biến: Item * item_ptr1, * item_ptr2; Tạo mới đối tượng: item_ptr1 = new Item; Hủy bỏ đối tượng: delete item_ptr1; Sử dụng: *item_ptr1 = 1378; cout StudentID; Con trỏ NULL: item_ptr2 = NULL; Sử dụng con trỏ trong C++ Địa chỉ của biến: Biến: int_ptr = &x; Array: arr_ptr = an_array; Dynamic array: Trong C++, array có thể được quản lý như một con trỏ và ngược lại Ví dụ: int arr[3] = {0, 1, 2, 3}; int *arr_ptr = arr; //in ra 0 – 1 – 2 cout struct Node { Entry entry; // data members Node *next; Node( ); // constructors Node(Entry item, Node *add on = NULL); }; Ví dụ với node liên kết

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.