Stack 204311การจัดการแฟ้มข้อมูลและโครงสร้างข้อมูล File Management and Data Structure
บรรยายครั้งที่ 2: Stack วัตถุประสงค์ : นักศึกษาสามารถ อธิบายโครงสร้างข้อมูลแบบ Stack ได้ถูกต้อง เขียนโปรแกรมด้วยภาษา Visual Basic ในการดำเดินการต่าง ๆ ตามโครงสร้างข้อมูลแบบ Stack ได้แก่การ Push และ Pop
หัวข้อการบรรยาย แนะนำ Stack โอเปอร์เรชั่นพื้นฐานที่ทำกับแสตก แสตกรูปแบบอื่นๆ การประยุกต์ใช้แสตก
แนะนำ Stack
แนะนำ Stack C B A
แนะนำ Stack C B A
แนะนำ Stack E D F B A
แนะนำ Stack E D F B A
แนะนำ Stack D F B A
ขบวนการพื้นฐานที่ทำกับแสตก Push Pop Empty Full
ขบวนการพื้นฐานที่ทำกับแสตก ตัวอย่าง
ขบวนการพื้นฐานที่ทำกับแสตก // Stack.cpp #include <stdio.h> #include <conio.h> int top = 0; void PrintStack(char *); int Push(char *, char); char Pop(char *); int IsEmpty(char *); // 0 Not Empty, 1 Empty int IsFull(char *); // 0 Not Full, 1 Full
ขบวนการพื้นฐานที่ทำกับแสตก main() { char select=0; char stack[10] = {'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}; char element; clrscr(); do printf("\n\nMenu\n"); printf("======\n"); printf("1. Push\n"); printf("2. Pop\n"); printf("3. Exit\n"); printf("Please select operation: "); select = getche(); switch(select) { case '1': printf("\nEnter a character to push: "); element = getche(); Push(stack, element); break; case '2': printf("\nPop stack and get: %c", Pop(stack)); default : } PrintStack(stack); } while(select != '3'); return(0);
ขบวนการพื้นฐานที่ทำกับแสตก printf("1. Push\n"); printf("2. Pop\n"); printf("3. Exit\n"); printf("Please select operation: "); select = getche(); switch(select) { case '1': printf("\nEnter a character to push: "); element = getche(); Push(stack, element); break; case '2': printf("\nPop stack and get: %c", Pop(stack)); default :
ขบวนการพื้นฐานที่ทำกับแสตก int Push(char * stack, char element) { stack[top] = element; top += 1; // incrase top by 1 return top; }
ขบวนการพื้นฐานที่ทำกับแสตก char Pop(char * stack) { char topelement; topelement=stack[top-1]; stack[top-1]='\0'; top -= 1; return(topelement); }
ขบวนการพื้นฐานที่ทำกับแสตก void PrintStack(char * stack) { int i = 0; printf("\n"); for(i=9;i>=0;i--) printf("\n | %c |", stack[i]); } printf("\n _____"); printf("\n Top : %d", top);
แสตกรูปแบบอื่นๆ ลิงค์แสตก
กระประยุกต์ใช้แสตก การคำนวณ และการแปลงนิพจน์ทางคณิตศาสตร์ แนวคิดในการคอมไพล์ Factorials Fibonacci