深入了解C语言栈的创建

栈只允许在一端进行插入或删除操作的线性表。首先栈是一种线性表,但是限定这种线性表只能在某一端进行插入和删除操作,这篇文章主要介绍了C语言对栈的实现基本操作

栈:是限定仅在表尾进行插入和删除操作的线性表!

栈的结构定义如下:

 typedef struct Stack { SLDataType *base;//栈底元素的地址 int top;//栈顶元素的位置 } Stack; 

栈的初始化如下:

 SLDataType initStack(Stack &S) { S.base=(SLDataType*)malloc(N*sizeof(SLDataType));//申请栈元素的存储空间 if(S.base==NULL) return -1; S.top=0; return 1; } 

栈元素的输入接口:

 SLDataType pushStack(Stack &S,int e)//输入栈的元素 { if(S.top==N) return 0; S.base[S.top]=e; S.top++; return 1; } 

完整代码如下:

 #include #include #define N 30 typedef int SLDataType; typedef struct Stack { SLDataType *base;//栈底元素的地址 int top;//栈顶元素的位置 } Stack; SLDataType initStack(Stack &S) { S.base=(SLDataType*)malloc(N*sizeof(SLDataType)); if(S.base==NULL) return -1; S.top=0; return 1; } SLDataType pushStack(Stack &S,int e)//输入栈的元素 { if(S.top==N) return 0; S.base[S.top]=e; S.top++; return 1; } void printStack(Stack &S) { int i; i=0; while(i

运行结果如下:

在这里插入图片描述

总结

以上就是深入了解C语言栈的创建的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » C语言