- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验 3-1 链栈
[目的] 掌握链栈的实现和简单的应用。
[源代码]
/****************************************************
@title: 数据结构实验
@name: 实验3-1 栈的链式存储结构
@object:
[实验目的]
采用链式存储结构实现栈的基本操作
[实验提示]
1. 在stack.h中实现栈的基本操作,
在链式存储结构中可是省去头结点。
2. 在dsp0301.cpp中编写适当的代码,进行测试
@include:
stack.h [*]
栈的链式实现
@usage:
请查看TO-DO列表,根据要求完成代码
@copyright: BTC 2004, Zhuang Bo
@author: Zhuang Bo
@date: 2004
@description:
*****************************************************/
#include stdio.h
#include stdlib.h //for system()
#include stack.h //链栈
//测试链栈的主程序
int main()
{
LinkStack s;
int x;
//输入若干正整数以0结束,依次入栈,然后依次出栈并打印
InitStack(s);
printf(输入若干正整数以0结束:);
scanf(%d,x);
while(x!=0) {
Push(s,x);
scanf(%d,x);
}
printf(\n出栈结果:);
while(!StackEmpty(s)) {
Pop(s,x);
printf(%4d,x);
}
//-------------------------------------
// TODO (#1#): 其它测试程序
//-------------------------------------
DestroyStack(s); //销毁栈
system(PAUSE);
return 0;
}
/*
Name: 栈的链式实现
Copyright:
Author:
Date:
Description:
*/
#ifndef STACK_H_INCLUDED
#define STACK_H_INCLUDED
#include ds.h //for Status,OK ...
#ifndef ElemType
#define ElemType int /* 数据元素类型默认为 int */
#define ELEMTYPE_TAG
#endif
///////////////////////////////////////////////////////////
//链栈的存储结构定义
typedef struct LNode {
ElemType data;
struct LNode *next;
} LNode, *LinkList;
typedef LinkList LinkStack; //链栈类型
///////////////////////////////////////////////////////////
//链栈的基本操作声明
//构造一个空栈S
Status InitStack(LinkStack S);
//销毁栈S
Status DestroyStack(LinkStack S);
//将栈S清空
Status ClearStack(LinkStack S);
//若栈S为空返回TRUE,否则FALSE
Status StackEmpty(LinkStack S);
//返回栈S中的元素个数
int StackLength(LinkStack S);
//用e返回栈顶元素
// 前提:栈S存在且不空
Status GetTop(LinkStack S, ElemType e);
//元素e入栈S
Status Push(LinkStack S, ElemType e);
//S出栈用e返回出栈元素
// 前提:栈S存在且不空
您可能关注的文档
最近下载
- Korn-Ferry-方案-构建成功者画像.pdf VIP
- 铭记抗战历史,弘扬爱国精神——纪念抗日战争胜利八十周年主题班会.pptx VIP
- 扣押决定书文书范本.doc VIP
- 人民大2024现代大学美育 教学课件认识美——万物皆美(第一章 美是什么)(1).pptx VIP
- 人民大2024现代大学美育 教学课件认识美——万物皆美(第二章 何为美育)(1).pptx VIP
- 项目策划培训课件.ppt VIP
- 人民大2024现代大学美育 教学课件艺术美——美美与共(第十一章造型艺术美)(陈琳、刘晓晓).pptx VIP
- 大学美育课件:中国艺术美-音乐美.pptx VIP
- 文化旅游项目策划报告.pptx VIP
- 大学美育课件:中国艺术美-绘画美.pptx VIP
文档评论(0)