栈的链式表示和实现
来源:互联网 发布:java https请求带证书 编辑:程序博客网 时间:2024/05/29 03:19
1、
//// main.c// 001-栈的链式表示和实现//#include <stdio.h>#include <stdlib.h>typedef char SElemType;typedef struct SqStack{ SElemType data; struct SqStack * next;}SqStack, *SqStackNode;typedef struct { SqStack * top; SqStack * base;}SqStackLink;int initSqStack(SqStackLink * s){ SqStackNode p = (SqStackNode)malloc(sizeof(SqStack)); if (!p) { printf("分配失败\n"); return 0; } p->next = NULL; s->top = p; s->base = s->top; return 1;}int push(SqStackLink * s, SElemType elem){ SqStackNode p = (SqStackNode)malloc(sizeof(SqStack)); if (!p) { printf("分配失败\n"); return 0; } p->next = s->top; s->top->data = elem; s->top = p; return 1;}int pop(SqStackLink * s, SElemType * elem) { if (s->top == s->base) { printf("这是空栈\n"); return 0; } SqStackNode p = s->top->next; s->top->next = p->next; *elem = p->data; free(p); return 1;}int main(int argc, const char * argv[]) { // insert code here...// printf("Hello, World!\n"); SqStackLink s; initSqStack(&s); for (int i = 0; i < 5; i++) { push(&s, 'A' + i); } for (int i = 0; i < 2; i++) { SElemType elem; pop(&s, &elem); printf("pop elem is %c\n", elem); } return 0;}输出结果:
pop elem is Epop elem is DProgram ended with exit code: 0
0 0
- 链式栈的表示和实现
- 栈的链式表示和实现
- 线性表的链式表示和实现
- 队列的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 链式队列的表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 堆栈的链式表示和实现
- 线性表的链式表示和实现
- 链式队列的表示和实现
- 单队列的链式表示和实现
- 队列的链式表示和实现
- 线性表的链式表示和实现
- 队列的链式表示和实现
- 队列的链式表示和实现(数据结构)
- android:layout_gravity和android:gravity的区别
- Android 的搜索机制 I-创建一个搜索框
- IOS 文件处理
- Linux设备驱动中的阻塞和非阻塞I/0,
- [转载]Linux 内核源码中likely()和unlikely()
- 栈的链式表示和实现
- ANDROID开发从零开始系列课程讲师CSDN若水
- Android JNI(3) --在C代码中使用logcat
- 杭电acm1086
- 黑马程序员---Java基础篇之流程控制语句及控制跳转语句
- Android之ListView分页获取网路数据客户端实现(开启异步任务,获取网络数据)(三)
- 手把手教你android平台下通讯录的开发实战视频
- mysql binlog 分析
- 【WIN08R2 Active Directory】之一 部署企业中第一台Windows Server 2008 R2域控制器