1.栈是一种特殊的线性结构
①栈满足线性结构
②栈特殊性:栈有特殊的存储方式,访问结构(先进先出,进和出在一个端)
2.栈的操作:
①入栈:向栈口放入数据元素(push)
②出栈:从栈口取出数据元素(pop)
栈顶指针(top):用来指向最后一个入栈元素
入栈操作:
设栈的最大长度为size,栈满不可入栈(上溢)[top=size-1]
入栈:
top=top+1;s[top]=数据元素
出栈操作:
只有栈顶元素才可出栈,栈空不可出栈
栈空条件:top=-1;
3.例子:设有序列1,2,3依次入栈,则出栈序列
出栈:1,2,3; 1,3,2; 2,1,3; 2,3,1; 3,2,1;
4.栈的应用:
例子:注意输入正整数x,输出x的二进制数
void ExchangeBin(int x)
{
int a[10],top;
top=-1;
while(x){
a[++top]=x%2;
x/=2;
}
while(top>-1)
printf("%d"a[top--]);
}
本文介绍了栈这种特殊的线性结构,详细解释了栈的操作(入栈与出栈),栈顶指针的概念及其在栈满或栈空时的状态,并通过一个具体的实例展示了如何使用栈来实现正整数到二进制数的转换。
2008

被折叠的 条评论
为什么被折叠?



