C语言数据结构-栈-链表实现
来源:互联网 发布:数据泄密 编辑:程序博客网 时间:2024/04/27 13:00
栈头文件:
#ifndef LINKSTACK_H_INCLUDED#define LINKSTACK_H_INCLUDEDtypedef struct Node{ int data; struct Node *next;}Node, *PNode;typedef struct LinkStack{ PNode top;}LinkStack, *PLinkStack;PLinkStack init(void);int push(int data,PLinkStack pStack);int pop(PLinkStack pStack,int *data);int getTop(PLinkStack pStack,int *data);void printStack(PLinkStack pStack);#endif // LINKSTACK_H_INCLUDED
栈代码实现:
#include <stdio.h>#include <stdlib.h>#include "LinkStack.h"PLinkStack init(void){ PLinkStack pStack=(PLinkStack)malloc(sizeof(struct LinkStack)); pStack->top=NULL;}//链表结构: null<-p1<-p2, 是从右到左的顺序int push(int data,PLinkStack pStack){ PNode pNode=(PNode)malloc(sizeof(struct Node)); pNode->data=data; pNode->next=pStack->top; pStack->top=pNode;}int pop(PLinkStack pStack,int *data){ PNode tNode=pStack->top; if(tNode==NULL){ return 0; } //指针类型变量取值 *data=tNode->data; pStack->top=tNode->next; free(tNode); return 1;}int getTop(PLinkStack pStack,int *data){ PNode tNode=pStack->top; if(tNode==NULL){ return 0; } *data=tNode->data; return 1;}void printStack(PLinkStack pStack){ PNode tNode=pStack->top; while(tNode!=NULL){ printf("Node:%d->",tNode->data); tNode=tNode->next; } printf("\n");}int main(){ PLinkStack linkStack=init(); push(1,linkStack); push(2,linkStack); push(3,linkStack); int data; pop(linkStack,&data); printf("pop top data=%d\n",data); int top; getTop(linkStack,&top); printf("current top data=%d\n",top); printStack(linkStack); return 0;}
阅读全文
0 0
- C语言数据结构-栈-链表实现
- C语言实现数据结构中的链栈
- 数据结构C语言实现之链栈
- <数据结构>链栈的C语言实现
- C语言实现数据结构的链表
- [数据结构]C语言链表实现
- 【数据结构】C语言实现顺序链表
- 数据结构 链表的实现(C语言)
- 【数据结构】C语言实现链表
- C语言实现LinkedList链表数据结构
- [数据结构]C语言链表实现
- 数据结构C语言实现栈
- 数据结构.栈(C语言实现)
- 数据结构---栈C语言实现
- 数据结构栈C语言实现
- 数据结构(C语言实现)
- 数据结构C语言实现
- 数据结构(C语言实现)
- 不要让异常跑出析构函数
- Javascript错误处理——try...catch
- 湖南多校对抗赛(2015.4.6)C
- HDU 6053 TrickGCD
- Redis缓存同步
- C语言数据结构-栈-链表实现
- UVa-11396 Claw Decomposition(二分图判断)
- ubuntu14.04下安装配置使用openCV3.0
- generate parentheses
- BZOJ 2124 浅谈线段树动态维护双HASH判值域回文串
- 换个姿势读pdf文档
- 微信 三级分销关系
- 【C语言】多文件编程
- hdu 2044一只小蜜蜂...