ADT堆栈的链表实现
来源:互联网 发布:centos关闭防火墙端口 编辑:程序博客网 时间:2024/05/16 01:24
堆栈,插入和删除只能在队列头进行。实现方式主要使用单向链表。
typedef struct stack_node_tag{struct stack_node_tag *next;int data;}stack_list_t;typedef stack_list_t stack_elem_t;typedef struct stack_tag{stack_list_t *head;int count;}stack_t;stack_t *stack_init(stack_t *s){if( s == NULL ){s = (stack_t *)malloc( sizeof(stack_t) );s->head = NULL;s->count = 0;return s;}}int stack_destroy(stack_t *s){if( s != NULL ){stack_list_t *p = s->head;while( p != NULL ){stack_list_t *t = p;p = p->next;free(t);}free(s);}}stack_elem_t *stack_elem_alloc( int n ){stack_elem_t *t = (stack_elem_t *)malloc(sizeof(stack_elem_t));t->data = n;t->next = NULL;return t;}void stack_push(stack_t *s, stack_elem_t *e){assert( s!= NULL );e->next = s->head;s->head = e;s->count++;}int stack_pop(stack_t *s){assert( s!= NULL );if( s->head != NULL ){s->count--;if(s->count < 0){s->count = 0;}stack_elem_t *t = s->head;s->head = s->head->next;int data = t->data;return data;}}
0 0
- ADT堆栈的链表实现
- 堆栈的链表实现
- 多项式ADT的链表实现
- 链表实现堆栈
- 4.3 堆栈的链表实现
- 基于链表的堆栈实现
- 用堆栈实现括号匹配——ADT实现
- 数据结构 -->线性表的链式实现 ADT
- 考研数据结构与算法之堆栈的使用(四)链表实现的堆栈
- ADT实现的改进
- C ADT 的实现
- 树的ADT实现
- 单向链表实现堆栈
- 基于链表实现堆栈
- 下压堆栈(链表实现)
- Java链表实现堆栈
- 使用链表实现堆栈
- 链表堆栈C实现
- JVM内存配置详解
- ADT双端队列的实现
- FZU 1686 神龙的难题(DLX可重复覆盖)
- Oracle SQL性能优化
- DirectShow开发中遇到的问题
- ADT堆栈的链表实现
- IOS学习之UIScrollView
- CSDN高校俱乐部 编程挑战--求和&回文距离
- 我只想吐槽一下平安夜群发祝福
- java.sql.SQLException: ORA-01841
- 更换ic_launcher.png后,eclipse给小米手机安装运行,显示的还是旧图标
- Redis基础之管道
- Java设计模式透析之 —— 适配器(Adapter)
- @property和@synthesize