首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
admin
2012-06-21
63
问题
设有m个连续单元供一个栈与队列使用,且栈与队列的实际占用单元数事先不知道,但是要求在任何时刻它们占用的单元数量不超过m,试写出上述栈与队列的插入算法。
选项
答案
算法如下: //定义结点的结构为 struct Node{ ElemType data; struct Node*next; } //定义栈的结构 struct Stack{ Node*base; Node*top; } //定义队列的结构 struct Queue{ Node*front; Node*tail; }; //设m个连续单元的数组为b[m],定义全局数组static int a[m]用以标识m个单元中各个单元是否被占用 //a[i]=1表示已占用,a[i]=0表示未被占用 void InsertStack(struct stack&S,ElemType elem) { for(int i=0;i<m;i++) if(a[i]==0) break; if(i==m) { printf("NO SPACE\n"); return; } a[i]=1; Node*p=&b[i]; p->data=elem; p->next=NULL; if(S.base==NULL) { S.base=p; S.top=p; } else { p->next=p; S.top=p; } } void InsertQueue(struct Queue&Q,ElemType elem) { for(int i=0;i<m;i++) if(a[i]==0) break; if(i==m) { printf("NO SPACE\n"); return; } a[i]=1; Node*p=&b[i]; p->data=elem; p->next=NULL; if(Q.front==NULL) { Q.front=p; Q.tail=p; } else { Q.tail->next=p; Q.tail=p; } }
解析
转载请注明原文地址:https://jikaoti.com/ti/DtajFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试述问题与主义之争及其实质。(中南大学2014年中国近代史真题)
第三次科技革命初期,苏联领先于美国的新兴科学技术成就是()。
简述西欧经济一体化的原因、进程和意义。
魏晋南北朝的手工业技术有所进步,下列各项能反映这一特点的是()。①培育出“三熟之稻”②“灌钢”技术的发明③吴培育出八辈之蚕④纸成为最主要的书写材料
魏晋南北朝的手工业技术有所进步,下列各项能反映这一特点的是()。①培育出“三熟之稻”②“灌钢”技术的发明③吴培育出八辈之蚕④纸成为最主要的书写材料
利玛窦与徐光启合作翻译的(),介绍了曾经流行于欧洲的欧几里得平面几何的系统理论,大大地丰富了中国古代几何学的内容。
1948年,南斯拉夫对从苏联照搬来的“行政命令式的国家集权式”体制进行改革逐步形成有自己特色的建设社会主义的理论和方法,其核心是()。
假设系统的所有资源是同类型的,系统中的进程每次申请资源数最多1个,那么,下面列出的4种情况中,()可能发生死锁。情况序号系统中进程数资源总量
从下面关于虚拟设备的论述中,选择一条正确的论述()。
随机试题
RFID是指_______。
关于行政许可听证程序,下列哪些说法是正确的?()
双代号网络图中用实箭线表示的工作()。
在许多国家,建造师可以在( )阶段进行项目管理工作。
根据《契税暂行条例》的规定,可以享受减免契税优惠待遇的是( )。
关于增值税小规模纳税人管理的说法,错误的是()。
下列关于国家助学贷款的表述,错误的是()。
新民主主义革命的中心内容是()。
强制隔离戒毒工作由()主管。
我国外交政策中的独立自主原则是指()。
最新回复
(
0
)