首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
用类C语言写出求广义表深度以及复制广义表的算法。
用类C语言写出求广义表深度以及复制广义表的算法。
admin
2017-04-28
49
问题
用类C语言写出求广义表深度以及复制广义表的算法。
选项
答案
定义一个广义表类型如下: typedef struct node{ int flag; union{ elemType data; struct node *pointer; }; struct node *link; }BSNode,*BSLinkList; //求广义表深度 int genlistDepth(BSLinkList list}{ /*list存放广义链表的首地址,该算法返回广义链表的深度*/ BSLinkList stackl[M],p; /*stackl用来记录子表的起始位置*/ /*stack2用来记录子表当前的深度,depth用来表示当前所求子表的深度,maxdep用来记录当前已 求出的那些子表的最大深度,stackl和stack2共用一个栈顶指针*/ int stack2 [M], depth=0,maxdep=0, top=—1; p=list—>pointer, /*将p指针指向广义链表的第一个元素所在的链接点*/ if(p!=NULL){ dof while(p!=NULL){ stackl[++top]=p; /t记录当前子表的起始位置*/ stack2[-- top]=depth; /*记录当前所求子表的深度*/ if (p—>flag==1){ /*当前链接点元素是予表*/ depth++; /*当前层次数加1*/ p=p—>pointer; /*移动到下一层*/ } else p=NULL; } if (maxdep<depth){ maxdep=depth; /*记录当前已求得的最大层次数*/ } p=stackl[top]; /*退回到上一层,移动到下一个元素,查看是否有子表*/ depth=stack2(top--]; p=p—>link; }(p! =NULL&&top! =—1); } return maxdep+1; } BSL/nkList copyBSList (BSLinkList lista) { BSLinkList listb=NULL; if {lista !=NULL) { listb=(BSLinkList) malloc ( sizeof <BSNode)) ; listb—>flaq=lista—>flag; if (lista—>flag==0) listl:—>clata=lista—>data; else listb—>pointer=copyBSList (lista—>pointer) ; listb—>link—copyBSList(lista—>link); return listb; }
解析
转载请注明原文地址:https://kaotiyun.com/show/WWRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述斯巴达克起义的原因、大体经过、意义和失败原因。
1994年5月,江泽民在进一步强调正确处理改革、发展、稳定的关系时指出()。
1901年6月,发表《立宪法议》,首先提出君主立宪要求的是()。
中华人民共和国恢复在联合国合法席位的时间是()。
《贝希斯敦铭文》使用何种语言?()
在下列四本部书中有可能记载“甘薯所在,局面便有半年之粮,民间渐次广种”一语的只能是()。
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
试就MutualExclusion、Progress、BoundedWaiting论述以下解决双进程临界区问题的算法是错误的:ProcessPO:do{flag[0]=true;While(flag[1]);
一个字节多路通道连接D1、D2、D3、D4、D5共5台设备,这些设备分别每10μs、30μs、30μs、50μs和75μs向通道发出一次数据传送的服务请求,请回答下列问题:(1)计算这个字节多路通道的实际流量和工作周期。(2)如果设计字
随机试题
司法救济是指人民法院通过(),在商标案件中保护当事人注册商标专用权的行为。
主体心目中关于完善的美的观念,指的是()
A、东莨菪碱B、毛果芸香碱C、琥珀胆碱D、阿托品E、新斯的明帕金森病可选用
千分表的分辨力为0.001mm,因此该仪器的测试精度为±0.001mm。()
关于职业健康安全管理体系和环境管理体系的比较,下列说法中正确的是()。
复利期间数量是投资期内复利的次数。()
关于卫生健康创新发展的高峰论坛围绕“创新驱动,健康中国”主题,__________国际和国内远程医学、“互联网+医学”等新技术和新产业,探讨“互联网+健康医疗”服务新模式、__________发展新业态,__________人工智能、大数据等在医疗健康领域
Whatkindofpositionistobeoffered?
FAXCOVERSHEETTECHINTERNATIONALBetlemskenamesti1119816PragueCZECHREPUBLIC
Teddy:Gravityisveryimportant.Bob:Whatdoyoumean?Teddy:Gravityistheforcethatpullseverythingdown.Bob:【D8】______
最新回复
(
0
)