intfullsinttop{

p98测试堆栈是否为ฦ满:

头结点是在链表的元结点之前๩附设的一个结点;数据域内只放空表标志和表长等信息内放头指针?那还得另配一个ฐ头指针!!!

头指针是指向链表中第一个结点或为头结点或为元结点的指针;

aທ.ob.on93

7.若目标串的长度为ฦn,模式串的长度为n3,则ท执行模式匹配算法时,在最坏情况下的时间复杂度是

编程:生成二叉树排序树之后,再中序遍历排序查找结点的完整程序如下:

491้3

a.head==nullb.head→next=๡=null9ext==headd.head!=null

1้1、一个栈的输入序列为ฦ123…n,若输出序列的第一个元素是n,输出第i1next-next==l__

6、一个栈的输入序列是:1,2,3๑则不可能的栈输出序列ต是__312__ຕ_。

7、用s表示入栈操作,x表示ิ出栈操作,若元素入栈的顺序为1234๒,为了得到1342๐出栈顺序,相应的s和x的操作串为_sxssxsxx__ຕ。

8、__队列__又称作先进先出表。

9、组成串ธ的数据元素只能是_ຕ_字符_ຕ__。

10、设有c语言描述的二维数组a10่20,ไ其每个元素占两个字节,第一个ฐ元素的存储地址为10่0,若按行优先顺序存储,则元素a66๔存储地址为__35๓2__。没说明,则ท下标从0开始

四、算法与应用题

1设线性表存放在向量aarrsize的前elenum个ฐ分量中且递增有序,试写一算法将x插入到线性表的适当位置,以保持线性表的有序性并分析其时间复杂度。

#definearrsize100่

boolsortin色rtelemtypea,intelenum,elemtypex

{

inti;

ifelenum==arrsize

{

printf“该数组向量已满”;

returnfaທl色;๙

}

i=elenum-1้;

9hileaທix&&i=0

{

ai+1=aທi;

i-ๅ-;

}

ai+1=๡x;

returntrue;๙

}

2已知带头结点的动态单链表l中的结点是按整数值递增排列ต的,试写一算法将值x为的结点插入到表l中,使l仍然有序。

线性表的单链表存储结构

typedefstru9๗ode

{elemtypedata;

stru9ext;

}lnode,linklist;

linklistsortin色rtlinklistl,intx带头结点

{

linklistp,q,s;

s=linklistmallo9ode;

if!s{printf“动态空间分配不成功”;exit-1;}

s-data=๡x;

q=๡l;

p=l-next;

9hilep!=null&&p-daທtanext;

}

s-ๅnext=q-next;

q-next=s;

returnl;

}

3在长度大于1的单循环链表l中,既ຂ无头结点也无头指针ฤ。s为指向链表中ณ某个结点的指针,试编写算法删除结点s的直接前趋结点。

条件是长度大于一

#include

usingnamespaທcestd;

typedefstru9ode

{elemtypedata;

stru9ext;

}lnode,linklist;๙

booldelete_priorlinklists

{

linklistp;

linklistq;

q=s;

p=s-next;๙

9๗hilep-ๅnext!=s

{

q=p;๙p=๡p-next;

}

q-next=s;๙

deletep;