- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2001年:/*---------------------------------数据结构部分---------------------------------*/
/*二.设有一个正整数序列组成的有序单链表(按递增次序有序,且允许有相等的整数存在),试编写能实现下列功能的算法:(要求用最少的时间和最小的空间)
(1)确定在序列中比正整数x大的数有几个(相同的数只计算一次,如序列(20,20,17,16,15,15,11,10,8,7,7,5,4)中比10大的数有5个);
(2)在单链表中将比正整数x小的数按递减次序排列;
(3)在单链表中将比正整数x大的偶数从单链表中删除;*/
void exam(Linklist La,int,x)
{
p = La-next;
q = p; //p为工作指针,q指最小元素
int k = 0;
pre = la;
la-next = NULL;
while( p p-data x)
{ //比x小的数递减
r = p-next;
p-next = La-next;
La-next = p;
p = r ; //置逆
}
q-next = p;
pre = q; //重新链接
while(p-data = x)
{ // 考察等于x的情况
pre = p;
p = p-next;
}
while(p)
{ // k为计数器
k++;
x = p-data; //避免重复计算
if(x%2 == 0)
{ //删除偶数
while(p-data == x)
{ // 考察等于x的情况
u=p ;
p=p-next;
free(u);
}
pre-next=p;
}
else// 处理奇数
{
while(p-data == x)
{
pre-next = p;
pre = p;
p = p-next;
}
}
}
}
/*三.设T是一棵满二叉树,编写一个将T的先序遍历序列转换为后序遍历序列的递归算法。
对于满二叉树,已知任一遍历序列可唯一确定一棵二叉树,即可将任一遍历序列转换为另一遍历序列。*/
void pretopost(ElemType pre[],ElemType post[],int L1,int H1,int L2,int H2)//H1为主段,L1为序列位置
{
if(H1L1)
{
post[ H2]=pre[L1]; // 根结点
half=(H1-L1)/2;
pretopost(pre ,post, L1+1, L1+half, L2+half-1);
pretopost(pre, post, L1+half+1 ,H1, L2+half, H2-1)
} //if
} // preropost
/*四.2.写出后序线索二叉树的非递归遍历算法。*/
void PreorderTraverse_Thr(BiThrTree T)// T指向头结点,T的左链指向根结点.
{
p=T→lchild;
while(p!=T)
{
printf(p-data);
if(p-rtag == 0)
p = p-rchild;
else
p = p-lchild;
} // while
} //PreorderTraverse_Thr
/*五.在有向图G中,如果r到G的每个结点都有路径可达,则称结点r为G的根结点,编写一个算法完成下列功能:
(1) 建立有向图G的邻接表存储结构:
(2) 判断有向图G是否有根,若有,则打印出所有根结点的值。*/
(1)void CreatALG(ALGraph G)
{
// 建立有向图的邻接表存储结构
int i;
ArcNode *p;
scanf(G-vexnum, G-arcnum);
for(i = 0;i G-vexnum;i++)
{
scanf((G-
您可能关注的文档
- 702厂房施工组织设计要点解读.doc
- 722施工组织设计2要点解读.doc
- 800KW永磁直驱风电机组控制系统设计要点解读.doc
- 0802实习撰写规范要点解读.doc
- 802运输顺槽作业规程要点解读.doc
- 810℃加速冷却处理后X100管线钢的腐蚀行为研究要点解读.doc
- 0841电路实验指导书修改要点解读.doc
- 906红棉大道跨风神大道立交桥工程综合应急救援预案要点解读.doc
- 0909-2014年11级三本信管信息系统与设计实习要点解读.doc
- 0920虞山商业街第二阶段销售计划要点解读.doc
- 2001年国考行测真题解释(word精简版)要点解读.doc
- 2001年上半年广西公务员考试行测真题要点解读.doc
- 2001年上半年广西行测真题要点解读.doc
- 2001年卫生专业资格考试技师资格基础知识要点解读.doc
- 2001年卫生专业资格考试技士资格专业实践能力要点解读.doc
- 2001年卫生专业资格考试主管技师专业实践能力要点解读.doc
- 2001年中央、国家机关公务员录用考试行政职业能力测试真题要点解读.doc
- 2001年中央行政职业能力测验要点解读.doc
- 2002(300X300)方台面数控回转工作台设计(含全套毕业说明书和机械CAD图纸)要点解读.doc
- 2002-2003第二学期计划-广东碧桂园学校要点解读.doc
原创力文档


文档评论(0)