离散数学栈和队列.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
离散数学栈和队列

本科生实验报告实验课程《数据结构》学院名称信息科学与技术学院专业名称计算机科学与技术学生姓名帅鹏飞 学生学号201613160908指导教师李雪梅实验地点7201 实验成绩二〇一七 年六 月实验一:栈和队列一、实现目的1、掌握栈和队列的定义; 2、掌握栈和队列的顺序存储。 3、掌握栈和队列的基本操作,如建立、入栈、出栈、入队和出队等。二、实验内容1、建立顺序栈数据结构并应用2、建立顺序队列数据结构并应用三、顺序栈数据结构的描述与定义顺序栈是指利用顺序存储结构实现的栈,即利用一组连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针Top指示栈顶元素在顺序栈中的位置。四、顺序栈和链栈核心代码classNode { //节点定义public:Node() {this-id = 0;this-name =无;}Node(inta, stringname) {this-id = a;this-name =name;}string name;int id;};classzhan { //顺序栈定义public:zhan() {base = newNode[size];top = base;}void push(Noden) { //入栈cout 正在入栈 ;if ((top - base) size) {*top =n;top++;cout 成功! endl;}else { cout 栈满! endl; }}void pop() { //出栈cout 正在出栈 ;if ((top-base)0) {top--;cout成功!endl;}else{cout 栈空! endl;}}Node getTop() { //取栈顶元素if ((top - base)0) {return *(top-1);}}private:Node* top;Node* base;constint size = 20;};以下为链栈:classLinkStack { //链栈定义public:Node data;LinkStack* next;};void InitLinkStack(LinkStack *L) { //初始化链栈L = NULL;}void LinkPush(LinkStack *L,Nodedata) {//入栈LinkStack* p = newLinkStack();p-data =data;p-next = L;L = p;}void LinkPop(LinkStack *L, Nodedata) {//出栈if (L != NULL) {data=L-data;LinkStack *p = L;L = L-next;delete p;}}五、循环队列和链队列核心代码classMyQueue { //循环队列public:MyQueue() {base = newNode[size];front = rear = 0;}void in(Noden) { //入队列if ((rear + 1) % size != front) {base[rear] =n;rear = (rear + 1) % size;}}void out(Noden) {出队列if (rear != front) {n= base[front];front = (front + 1) % size;}}int getLength() { //返回队列长度return (rear - front + size) % size;}private:Node*base;int front;int rear;constint size = 20;};classQNode {//链队列节点定义public:Node data;QNode *next;};classLinkQueue { //链队列public: QNode *front;QNode *rear;};void InitLinkQuene(LinkQueue l) { //初始化链队列l.front = l.rear = newQNode();l.front-next = NULL;}void InQuene(LinkQueue L,Noden) { //入队列QNode *p = newQNode();p-data =n;p-next = NULL;L.rear-nex

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档