链式堆栈
来源:互联网 发布:国家网络安全法文件 编辑:程序博客网 时间:2024/06/08 03:55
#include <stdio.h>
#include <stdlib.h>
typedef char data_type; //数据类型
typedef struct filo
{
data_type data;
struct filo *former; //指向前一个单元
}Stack_type,*Stack_pointer;
void StackInit(Stack_pointer &top);
void push(Stack_pointer &,data_type );
data_type pop(Stack_pointer &);
int main()
{
data_type ch;
Stack_pointer filo;
StackInit(filo);
while((ch=getchar())!=0x0a) //以回车结束输入
push(filo,ch);
printf("\n");
while((ch=pop(filo))!=-1)
putchar(ch);
return 0;
}
void StackInit(Stack_pointer &top)
{
top=NULL;
}
void push(Stack_pointer &top,data_type e)
{
Stack_type * temp;
if((temp=(Stack_pointer)malloc(sizeof(Stack_type)))!=NULL)
{
temp->data=e;
temp->former=top;
top=temp; //top始终指向栈顶
}
}
data_type pop(Stack_pointer &top)
{
Stack_type *temp;
data_type top_element;
if(top==NULL //到达栈底
{
printf("\ngot to buttom!\n");
return -1;
}
else
{ /*取值并改变top指针的指向*/
top_element=top->data;
temp=top->former;
free(top);
top=temp;
}
return top_element;
}
运行结果:
- 链式堆栈
- 链式堆栈
- 链式堆栈
- 链式堆栈
- 链式堆栈
- 链式实现的堆栈
- 链式堆栈实现
- 泛型链式堆栈
- 链式堆栈的实现
- 堆栈--链式存储
- 链式结构的堆栈
- 数据结构--链式堆栈
- 链式堆栈.c
- 链式堆栈的实现 (带头节点的链式堆栈)
- 测试链式堆栈的实例
- c 堆栈的链式存储
- 堆栈的链式储存实现
- 用链表实现堆栈--链式栈
- V$UNDOSTAT and V$ROLLSTAT 需要整理的
- C#如何实现DataGridView到DataGridView的拖拽
- 全排列生成算法:next_permutation
- 学习Swift中的CoreImage(图形核心编程)
- C#中dynamic的正确用法
- 链式堆栈
- MATLAB 声卡连续信号采集
- neHe OpenGL lession 5
- CentOS6.5安装MRBS
- 将spinbox重写虚函数,支持16进制微调框
- iOS实现打电话功能
- [leetcode] Search in Rotated Sorted Array II
- C++11新标准之三:nullptr
- 1229 数字游戏