![](https://csdnimg.cn/release/download_crawler_static/86346923/bg1.jpg)
《C 语言课程设计》实验报告
专业: 计算机科学与技术 班级: 1803011
姓名: 张帅豪 学号: 18030100101 分工:50%
姓名: 赵宇轩 学号: 18030100103 分工:50%
一、问题描述
题目 2:简单数据结构-堆栈模拟
涉及知识点:内存管理、结构体定义、基本数据结构
要求:编写一个程序模拟堆栈,要求能够模拟、入栈、出栈、返回栈顶元素
等基本操作。栈中元素可用整数代替。不能使用 C++模板库预定义的类型。程序
运行中可输入多组入栈、出栈操作,每次操作后展示栈中元素。
二、技术关键点分析
1. 初始栈函数
2. 遍历栈函数
3.进栈函数
4. 出栈函数
5.获得栈顶元素函数
6. Main 函数使用
请输入选项 1.进栈 2.出栈 3.遍历栈 4.获得栈顶元素 0.退出
初始栈函数
定义栈结构
typedef struct node
{
int value; //
数据域
struct node *Next;//
指针域
}Node;
//
定义一个栈结构
typedef struct stack
{
Node *Top; //
栈顶
Node *Bottom; //
栈底
}Stack;
初始栈函数
//
初始化栈
void InitStack(Stack *s)
{
s->Top = (Node*)malloc(sizeof(Node)); //
分配内存空间给栈顶
s->Bottom = s->Top; //
使栈底也指向栈顶空间
s->Top->Next = NULL; //
栈顶指针置为
NULL
;
评论0