tailieunhanh - Mô tả kiểu dữ liệu trừu tượng stack

Mỗi lần chỉ được đưa vào hoặc lấy ra khỏi stack một đối tượng Đối tượng được lấy ra khỏi stack là đối tượng được chèn vào stack mới nhất, Các thao tác chèn và lấy ra được gọi là push và pop. | Mô tả kiểu dữ liệu trừu tượng stack Nội dung Mô tả kiểu dữ liệu trừu tượng: stack Cài đặt Các ứng dụng minh họa Phân tích cú pháp: XHTML, C++ Lời gọi hàm Cú pháp nghịch đảo Balan Mô tả Stack là một cấu trúc dữ liệu hoạt động theo cơ chế last-in—first-out (LIFO): Mỗi lần chỉ được đưa vào hoặc lấy ra khỏi stack một đối tượng Đối tượng được lấy ra khỏi stack là đối tượng được chèn vào stack mới nhất Các thao tác chèn và lấy ra được gọi là push và pop Mô tả Có hai lỗi liên quan với kiểu dữ liệu trừu tượng này: pop một stack rỗng hoặc Chưa định nghĩa vị trí top của một stack rỗng A B C D . M N top Hiện thực Chỉ có thể chèn vào hoặc lấy ra trong thời gian O(1) tại cuối dãy Vì vậy, có thể hiện thực stack bằng việc push và pop ở cuối dãy: 0 1 2 3 4 6 8 11 15 17 18 22 top Errors Nếu mảng bị đầy, ta có các tùy chọn: Tăng kích thước mảng, Thông báo lỗi, Bỏ qua phần tử đang push vào Stack, Cho tiến trình ngưng lại chờ đến khi gặp thao tác pop ra từ Stack Stack, sử dụng mảng Giả sử Stack chứa . | Mô tả kiểu dữ liệu trừu tượng stack Nội dung Mô tả kiểu dữ liệu trừu tượng: stack Cài đặt Các ứng dụng minh họa Phân tích cú pháp: XHTML, C++ Lời gọi hàm Cú pháp nghịch đảo Balan Mô tả Stack là một cấu trúc dữ liệu hoạt động theo cơ chế last-in—first-out (LIFO): Mỗi lần chỉ được đưa vào hoặc lấy ra khỏi stack một đối tượng Đối tượng được lấy ra khỏi stack là đối tượng được chèn vào stack mới nhất Các thao tác chèn và lấy ra được gọi là push và pop Mô tả Có hai lỗi liên quan với kiểu dữ liệu trừu tượng này: pop một stack rỗng hoặc Chưa định nghĩa vị trí top của một stack rỗng A B C D . M N top Hiện thực Chỉ có thể chèn vào hoặc lấy ra trong thời gian O(1) tại cuối dãy Vì vậy, có thể hiện thực stack bằng việc push và pop ở cuối dãy: 0 1 2 3 4 6 8 11 15 17 18 22 top Errors Nếu mảng bị đầy, ta có các tùy chọn: Tăng kích thước mảng, Thông báo lỗi, Bỏ qua phần tử đang push vào Stack, Cho tiến trình ngưng lại chờ đến khi gặp thao tác pop ra từ Stack Stack, sử dụng mảng Giả sử Stack chứa các phần tử kiểu nguyên Khai báo cấu trúc Stack Typedef struct Stack { int *arrStack; // mảng chứa các phần tử int max; // số phần tử tối đa int top; // vị trí đỉnh Stack } Stack, sử dụng mảng Thao tác khởi tạo Stack rỗng int Init(Stack &s, int maxItems) { = new int(maxItems); if ( == NULL) return 0; // không cấp phát được bộ nhớ = maxItems; = -1; // chưa có phần tử nào trong Stack return 1; // khởi tạo thành công } Stack, sử dụng mảng Thao tác kiểm tra Stack rỗng int IsEmpty(const Stack &s) { if ( == -1) return 1; // Stack rỗng return 0; // Stack không rỗng } Stack, sử dụng mảng Thao tác kiểm tra Stack đầy int IsFull(const Stack &s) { if ( == -1) return 1; // Stack đầy return 0; // Stack chưa đầy } Stack, sử dụng mảng Thao tác Push: thêm 1 phần tử vào đỉnh Stack int Push(Stack &s, int newItem) { if (IsFull(s)) return 0; // Stack đầy, không thêm vào được ; [] = newItem; return 1; // thêm thành công } Stack, sử dụng .

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.