本文采用C语言实现栈结构算法并举例应用。
一 栈的基本原理分析
作为栈这种数据结构,数据是进行所谓的先进后出操作,但栈在操作中,并不需要在中间插入删除操作、一般也不需要在进栈数据中查找什么,这种情况下,恰恰是顺序表可以完成的非常好的场合,所以栈经常是用一个简单的数组即可完成。
#include<stdio.h>
int s[100];
int top=0;
void push(int e)
{s[top]=e;top++;
}
int pop()
{top--;return s[top];
}
main()
{int i;for(i=0;i<10;i++)push(i);for(i=0;i<10;i++)printf("%d\n",pop());
}
这个程序就能完成最简单的栈的程序,原理也很简单。
对栈的应用,比如把10进制数1348转换成8进制,则过程是:
商 余
1348/8 168 4