- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二 堆栈和队列的基本操作一、 目的初始化栈、判栈为空、出栈、入栈等运算。二、要求1、认真阅读和掌握本实验的算法。2、上机将本算法实现。3、保存和打印出程序的运行结果,并结合程序进行分析。三、内容(顺序结构、链式结构)队列操作:栈、判断栈空、出栈入栈等运算。#includeString
typedef char ElemType;
#define StackSize 100 /*顺序栈的初始分配空间*/
typedef struct
{
ElemType data[StackSize]; /*保存栈中元素*/
int top; /*栈顶指针*/
} SqStack;
void InitStack(SqStack st)
{
st.top=-1;
}
int Push(SqStack st,ElemType x) /*进栈运算*/
{
if (st.top==StackSize-1) /*栈满*/
return 0;
else /*栈不满*/
{
st.top++;
st.data[st.top]=x;
return 1;
}
}
int Pop(SqStack st,ElemType x) /*出栈运算*/
{
if (st.top==-1) /*栈空*/
return 0;
else /*栈不空*/
{
x=st.data[st.top];
st.top--;
return 1;
}
}
int GetTop(SqStack st,ElemType x) /*取栈顶元素*/
{
if (st.top==-1) /*栈空*/
return 0;
else
{
x=st.data[st.top];
return 1;
}
}
int StackEmpty(SqStack st) /*判断栈空运算*/
{
if (st.top==-1) /*栈空*/
return 1;
else /*栈不空*/
return 0;
}
void main()
{ SqStack st;
ElemType e;
InitStack(st);
printf(栈%s\n,(StackEmpty(st)==1?空:不空));
printf(a进栈\n);Push(st,a);
printf(b进栈\n);Push(st,b);
printf(c进栈\n);Push(st,c);
printf(d进栈\n);Push(st,d);
printf(栈%s\n,(StackEmpty(st)==1?空:不空));
GetTop(st,e);
printf(栈顶元素:%c\n,e);
printf(出栈次序:);
while (!StackEmpty(st))
{ Pop(st,e);
printf(%c ,e);
}
printf(\n);
}
运行结果
链栈的基本操作:
#include stdio.h
#include malloc.h
typedef int ElemType;
typedef struct lsnode{
ElemType data;
struct lsnode *next;
}LinkStack;
void InitStack(LinkStack *ls){
ls=NULL;
}
void Push(LinkStack *ls,ElemType x){
LinkStack *p;
p=(LinkStack *)malloc(sizeof(LinkStack));
p-data=x;
p-next=ls;
ls=p;
}
int Pop(LinkStack *ls,ElemType x){
LinkStack *p;
if(ls==NULL)
return 0;
else{
p=ls;
x=p-data;
ls=p-next;
free(p);
return 1;
}
}
int GetTop(LinkStack *ls,ElemType x){
if(ls==NULL)
return 0;
else{
x=ls-data;
return 1;
}
}
int StackEmpty(LinkStack *ls)
{
if (ls==NULL)
return 1;
else
return 0;
}
void main(){
LinkStack *ls;
ElemType e;
InitStack(
您可能关注的文档
- 本文讲述了Oracle优化器概念.doc
- 设计一个有 N个进程共行进程调度程序.doc
- 2014年江西教师招聘考试《小学信息技术》真题和答案.doc
- 煤矿、调度生产组织流程和调度岗位工作标准.doc
- 一种改进灰度矩亚像素边缘检测算法.pdf
- 15分钟学会使用Git与远程代码库.doc
- udp与tcp比较.ppt
- 典型CPU和指令系统举例.ppt
- CAD二次开发电子教案 第7篇.ppt
- 城市绿地系统结构及功能研究综述.pdf
- 2025山东临沂市莒南县教体系统部分事业单位招聘教师1人笔试模拟试题及答案解析.docx
- 2025湖南张家界市桑植县卫生健康局机关所属事业单位公开选调工作人员3人笔试模拟试题及答案解析.docx
- 2025重庆第二师范学院考核招聘事业单位45人笔试模拟试题及答案解析.docx
- 2025年第十三届贵州人才博览会黔东南州事业单位人才引进213人笔试模拟试题及答案解析.docx
- 江西中医药大学附属医院2025年编制外招聘工作人员(第二批)笔试模拟试题及答案解析.docx
- 2025年隆昌市公开招聘社区工作者(49人)笔试模拟试题及答案解析.docx
- 2025新疆商贸物流集团国际商贸城招聘8人笔试参考题库附答案解析.docx
- 2025浙江武阳川酒店管理有限公司劳务外包员工招聘1人笔试模拟试题及答案解析.docx
- 2025四川九洲投资控股集团有限公司软件与数据智能军团招聘投融资负责人1人笔试模拟试题及答案解析.docx
- 2025福建漳州漳州市芗城区行政事业单位国有资产中心招募2人笔试模拟试题及答案解析.docx
最近下载
- 2025年湖北省襄阳市襄阳四中学初三下学期四月调考化学试题含解析.doc VIP
- GBT 42706.1-2023 电子元器件 半导体器件长期贮存 第1部分:总则.doc
- 2018人教版七年级数学下册练习:期末达标检测卷.docx VIP
- AC-25厂拌热再生沥青混凝土试验段施工方案.doc
- 行业联盟与竞争格局演变-深度研究.pptx
- 2024-2025学年北京西城区九年级初三(上)期末道德与法治试卷(含答案).pdf
- 2025年山东省枣庄市滕州市高三二模物理试卷及答案.docx
- 第九章 压强和浮力(知识清单)【教师版】.docx VIP
- 2025保安员理论考试100题(附答案) .pdf VIP
- 2022年三级教育测试题.docx
文档评论(0)