- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
设计一个递归算法,求二叉树t中度为1的结点数。设二叉链表类型定义如下。
typedefintdatatype; //结点的数据类型,假设为int
typedefstructNODE*pointer;//结点指针类型
structNODE{datatypedata;pointerlchild,rchild;};
typedefpointerbitree;//根指针类型
答案:
intsum1(bitreet){intL,R;
if(t==NULL)return0;
L=sum1(t-lchild);
R=sum1(t-rchild);
if((t-lchild==NULLt-rchild!=NULL),,(t-lchild!=NULLt-rchild==NULL))returnL+R+1;
elsereturnL+R;}
设计递归算法,判断二叉树t中是否所有结点都为正数。
二叉链表的类型定义如下:
typedefintdatatype; //结点的数据类型,假设为int
typedefstructNODE*pointer;//结点指针类型
structNODE{datatypedata;pointerlchild,rchild;};
typedefpointerbitree; //根指针类型
答案:
intdetect(bitreet){intL,R;
if(t==NULL)return1;
if(t-data=0)return0;
returndetect(t-lchild)detect(t-rchild);}
设计算法将顺序表L中所有的小写字符都移动到表的前端,要求元素的移动次数尽量少。顺序表类型定义如下:
typedefchardatatype;//结点的数据类型,假设为char
constintmaxsize=100;//最大表长,假设为100
}
}
}
}
typedefstruct{
datatypedata[maxsize];//线性表的存储向量,第一个结点是data[0]
intn; //线性表的当前长度
}sqlist; //顺序表类型
答案:
voidmoves(sqlist*L){inti,j;datatypex;i=1;j=L-n;while(ij){
while((L-data[i]=aL-data[i]=z)ij)i++;while((L-data[j]a,,L-data[i]z)ij)j--;if(ij){
x=L-data[i];L-data[i]=L-data[j];L-data[j]=x;i++;j--;
}}}
设计算法,将顺序表L中所有的负数都移动到表的后端,要求移动次数尽量少。顺序表类型定义如下:
typedefintdatatype;//结点的数据类型,假设为int
constintmaxsize=100;//最大表长,假设为100
typedefstruct{
datatypedata[maxsize];//线性表的存储向量,第一个结点是data[0]
intn; //线性表的当前长度
}sqlist; //顺序表类型
答案:
voidmoves(sqlist*L){inti,j;datatypex;i=1;j=L-n;while(ij){
while(L-data[i]=0ij)i++;
while(L-data[j]0ij)j--;if(ij){
x=L-data[i];L-data[i]=L-data[j];L-data[j]=x;i++;j--;
设计算法将顺序表L中所有的正数都删除,要求元素的移动次数尽量少。顺序表类型定义如下:
typedefintdatatype;//结点的数据类型,假设为int
constintmaxsize=100;//最大表长,假设为100typedefstruct{
datatypedata[maxsize];//线性表的存储向量,第一个结点是data[0]
intn; //线性表的当前长度
}sqlist; //顺序表类型
答案:
voiddels(sqlist*L){ints,i;
s=0;
for(i=0;in;i++)
if(L-data[i]0)s++;
elseif(s0)L-data[i-s]=l-data[i];
L-n=L-n-s;}
设计算法将顺序表L中所有的数字字符都移动到表的后端
您可能关注的文档
最近下载
- 数控加工工艺-全套PPT课件.pptx
- 幼儿园数学领域教育精要——关键经验与活动指导试题.doc
- 护理预见性护理课件.pptx
- 理光RICOH使用手册GRⅡ说明书.pdf
- 义务教育版(2024)信息科技六年级全一册 第4课 输入输出与计算 教案.docx VIP
- 深信服安全评估系统TSS用户手册_v1.7.3.pdf
- BOSE博士 SoundTouch 300 Soundbar 用户指南支持 简体中文.pdf
- 预应力锚杆与锚索支护技术.pptx VIP
- 灾难现场挤压伤挤压综合征救治技术规范.pdf VIP
- 统编版(五四制)道德与法治三年级上册12《家庭的记忆+传统节日中的“家”》(教学设计).docx
文档评论(0)