还剩3页未读,继续阅读
文本内容:
栈的顺序存储结构语言实现C栈的顺序存储结构在语言中通常使用数组来实现下面是一个基本的实现示C例㊀#inclucl stdio.h//定义栈的最大容量#define MAX_SIZE100//栈的结构定义typedef struct{//用数组存储栈元素int data[MAX_SIZE];//栈顶指针,指向栈顶元素的下标int top;㊀}S qStack;//初始化栈void initStackSeqStack*s{s-top=-1;//判断栈是否为空int isEmptySeqStack*s{return s-top==-1;//判断栈是否已满int isFullSeqStack*s{return s-top==MAX_SIZE-1;//入栈操作void pushSeqStack*s,int xifisFulls{n nprintfStack isfull!\n;return;s-top++;s-data[s-top]=x;//出栈操作㊀int popSqStack*s{if isEmptys{n nprintfStack isempty!\n;return-1;int x=s-data[s-top];s-top--;return x;//获取栈顶元素int peekSeqStack*s{if isEmptys{n HprintfStack isempty!\n;return-1;return s-data[s-top];int main{//创建一个栈对象SeqStack s;//初始化栈initStack s;//入栈兀素pushs,1;1//入栈兀素pushs,2;2//入栈兀素pushs,3;3%,//出栈并打印兀素,输出printfd\n”pop s;3%,//出栈并打印兀素,输出printfd\n”pop s;2%,//出栈并打印兀素,输出printfd\n”pop s;1//继续出栈并打印兀素,输出n nprintf%d\n,pop s;Stack is出错empty!,-1return0;在上述代码中,我们首先定义了一个结构体包含一个数组用SeqStack,data于存储栈元素,以及一个整数用于表示栈顶的位置然后定义了几个基本的操top作函数,如用于初始化栈,和用于判断栈是否为空initStack isEmptyisFull或已满,和用于入栈和出栈操作,用于获取栈顶元素最后在主push poppeek函数中演示了这些基本操作的用法。
个人认证
优秀文档
获得点赞 0