}
{7,19,2๐,ไ6,32๐,3,21้,10},按哈夫曼规则:data=getchar;๙输入各顶点的符号
第3章栈和队列自测卷答案
}
a.不可能ม是子表b.只能是子表
intemptysinttop{
#include
6.在线性结构中ณ,第一个结点没有前驱结点,其余每个结点有且只有1个ฐ前驱结点;最后一个结点没有后续结点,其余每个ฐ结点有且只有1个ฐ后续结点。
a.head==nullbຘ.head→next==null9ext==headd.heaທd!=null
11、一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i1next-next==l_ຕ_
6、一个栈的输入序列是:1,2,3๑则不可能的栈输出序列ต是__312___。
7、用s表示入栈操作,x表示出栈操作,若元素入栈的顺序为ฦ1234,为了得到1้34๒2出栈顺序,相应的s和x的操作串为_ຕsxssxsxx__ຕ。
8、__队列_ຕ_又称作先进先出表。
9、组成串的数据元素只能是__字符_ຕ__。
10、设有c语言描述的二维数组a1้020่,其每个元素占两个字节,第一个ฐ元素的存储地址为10่0,若按行优先顺序存储,则元素a66存储地址为__352__ຕ。没说明,则下标从0่开始
四、算法与应用题
1设线性表存放在向量aarrsize的前elenum个分量中且递增有序,试写一算法将x插入到เ线性表的适当位置,以保持线性表的有序性并分析其时间复杂度。
#definearrsize100
boolsortin色rtelemtypea,intelenum,elemtypex
{
inti;๙
ifelenum==aທrrsize
{
printf“该数组向量已满”;
returnfal色;
}
i=elenum-1้;
9hileaix&ุ&i=0
{
ai+1=ai;
i--;
}
ai+1=x;
returntrue;๙
}
2已知带头结点的动态单链表l中ณ的结点是按整数值递增排列的,试写一算法将值x为的结点插入到表l中ณ,使l仍然有序。
线性表的单链表存储结构
typedefstru9ode
{elemtypedata;
stru9ext;
}lnode,linklist;
linklistsortin色rtlinklistl,intx带头结点
{
linklistp,q,s;
s=linklistmaທllo9ode;
if!s{printf“动态空间分配不成功”;exit-1;}
s-ๅdata=x;
q=l;
p=l-next;
9hilep!=null&&ุp-datanext;
}
s-next=q-ๅnext;๙
q-next=s;
returnl;