欢迎来到天天文库
浏览记录
ID:34471702
大小:80.50 KB
页数:13页
时间:2019-03-06
《数据结构c语言版顺序栈上机实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验3-1链栈[目的]掌握链栈的实现和简单的应用。[源代码]/****************************************************@title:数据结构实验@name:<实验3-1>栈的链式存储结构@object:[实验目的]采用链式存储结构实现栈的基本操作[实验提示]1.在stack.h中实现栈的基本操作,在链式存储结构中可是省去头结点。2.在dsp0301.cpp中编写适当的代码,进行测试@include:stack.h[*]栈的链式实现@usage:请查看"TO-DO列表",根据要求完成代码@copyright:BTC2004
2、,ZhuangBo@author:ZhuangBo@date:2004@description:*****************************************************/#include#include//forsystem()#include"stack.h"//链栈//测试链栈的主程序intmain(){LinkStacks;intx;//输入若干正整数以0结束,依次入栈,然后依次出栈并打印InitStack(s);printf("输入若干正整数以0结束:");scanf("%d",&x);w
3、hile(x!=0){Push(s,x);scanf("%d",&x);}printf("出栈结果:");while(!StackEmpty(s)){Pop(s,x);printf("%4d",x);}//-------------------------------------//TODO(#1#):其它测试程序//-------------------------------------DestroyStack(s);//销毁栈system("PAUSE");return0;}/*Name:栈的链式实现Copyright:Author:Date:Descrip
4、tion:*/#ifndefSTACK_H_INCLUDED#defineSTACK_H_INCLUDED#include"ds.h"//forStatus,OK...#ifndefElemType#defineElemTypeint/*数据元素类型默认为int*/#defineELEMTYPE_TAG#endif/////////////////////////////////////////////////////////////链栈的存储结构定义typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*Li
5、nkList;typedefLinkListLinkStack;//链栈类型/////////////////////////////////////////////////////////////链栈的基本操作声明//构造一个空栈SStatusInitStack(LinkStack&S);//销毁栈SStatusDestroyStack(LinkStack&S);//将栈S清空StatusClearStack(LinkStack&S);//若栈S为空返回TRUE,否则FALSEStatusStackEmpty(LinkStackS);//返回栈S中的元素个数intS
6、tackLength(LinkStackS);//用e返回栈顶元素//前提:栈S存在且不空StatusGetTop(LinkStackS,ElemType&e);//元素e入栈SStatusPush(LinkStack&S,ElemTypee);//S出栈用e返回出栈元素//前提:栈S存在且不空StatusPop(LinkStack&S,ElemType&e);/////////////////////////////////////////////////////////////链栈的基本操作的实现//构造一个空栈SStatusInitStack(LinkStack
7、&S){//TODO(#1#):构造一个空栈S,不带头结点returnERROR;//-------------------------------------}//销毁栈SStatusDestroyStack(LinkStack&S){//TODO(#1#):销毁栈S,相当于清空栈returnERROR;//-------------------------------------}//将栈S清空StatusClearStack(LinkStack&S){//TODO(#1#):将栈S清空,释放所有结点returnERROR;//---------
此文档下载收益归作者所有