Ngăn xếp (Stack) trong C
Một ngăn xếp là một cấu trúc dữ liệu trừu tượng (Abstract Data Type – viết tắt là ADT), hầu như được sử dụng trong hầu hết mọi ngôn ngữ lập trình. Đặt tên là ngăn xếp bởi vì nó hoạt động như một ngăn xếp trong đời sống thực, ví dụ như một cỗ bài hay một chồng đĩa, …
Chương trình minh họa Ngăn xếp (Stack) trong C
#includeint MAXSIZE = 8; int stack[8]; int top = -1; int isempty() { if(top == -1) return 1; else return 0; } int isfull() { if(top == MAXSIZE) return 1; else return 0; }int peek() { return stack[top]; } int pop() { int data; if(!isempty()) { data = stack[top]; top = top - 1; return data; }else { printf("Khong the thu thap du lieu, ngan xep (Stack) la trong.\n"); } }int push(int data) { if(!isfull()) { top = top + 1; stack[top] = data; }else { printf("Khong the chen du lieu, ngan xep (Stack) da day.\n"); } }int main() { // chen cac phan tu vao ngan xep push(3); push(5); push(9); push(1); push(12); push(15); printf("Phan tu tai vi tri tren cung cua ngan xep: %d\n" ,peek()); printf("Cac phan tu: \n"); // in cac phan tu trong ngan xep while(!isempty()) { int data = pop(); printf("%d\n",data); } printf("Ngan xep da day: %s\n" , isfull()?"true":"false"); printf("Ngan xep la trong: %s\n" , isempty()?"true":"false"); return 0; }
Kết quả
Biên dịch và chạy chương trình C trên sẽ cho kết quả:
Bài học Cấu trúc dữ liệu và giải thuật phổ biến tại hoconline.club:
- Giải thuật tiệm cận - Asymptotic Algorithms
- Cấu trúc dữ liệu mảng (Array)
- Danh sách liên kết - Linked List
- Cấu trúc dữ liệu ngăn xếp - Stack
- Cấu trúc dữ liệu hàng đợi - Queue
- Tìm kiếm tuyến tính - Linear Search
- Tìm kiếm nhị phân - Binary Search
- Sắp xếp nổi bọt - Bubble Sort
- Sắp xếp chèn - Insertion Sort
cau-truc-du-lieu-ngan-xep.jsp
Bài viết liên quan