关于 栈(C语言) ——(参考算法导论)

因为想要学DFS && BFS。好像必须得会栈和队列。而这俩东东是数据结构的东东。。下学期会讲,额,以前一直没耐心好好看,今天中午看了好长时间,自己把代码写出来了,虽然很简单吧,呵呵,不过蛮有成就感的,(*^__^*) 嘻嘻……

 

栈,先进后出,嗯,虽然我现在没怎么做关于这方面的题,还不会应用,不过理解万岁,嘻嘻,以后会用得着的~

 

#include <stdio.h> #include <stdlib.h> int n,N; //N是个数 int s[800]; int StackEmpty() //判断栈是否为空的函数 { if(n==0) return 1; return 0; } int StackFull() //判断栈是否已满 { if( n==N ) return 1; return 0; } void Push(int x) // 入栈 { if( StackFull() ) printf("Error!/n"); else { s[n] = x; n++; } } int Pop() //出栈 { if( StackEmpty() ) printf("Error!/n"); else { n--; return s[n]; } } int main(void) { int x; printf("输入数字个数N:"); scanf("%d",&N); printf("输入N个数,以0结束:/n"); while(scanf("%d",&x)!=EOF && x) { Push(x); } while( N-- ) printf("%d ",Pop()); system("pause"); return 0; }

你可能感兴趣的:(关于 栈(C语言) ——(参考算法导论))