ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:137.14KB ,
资源ID:18824085      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18824085.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(西电机电院软件技术基础大作业Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

西电机电院软件技术基础大作业Word格式文档下载.docx

1、若数据域是英文字母或是其它字符,则将其从原来的链表中删除,并把它分别插入到其它两个链表中。4.建立一个循环链表,链表的数据域为商品的价格和数量,最后插入(4000,10)节点。从前到后遍历这个链表,若链表中存在一个节点,其数据域的价格为4000,则数量再加上10即可,若不存在,按照链表的顺序将该节点插入。5.建立一个顺序表,从键盘上输入字符串,从第一个节点和最后一个节点依次向中间比较。若发现不同。则比较结束,该字符串不是回文,否则,是回文。6.叶子节点的左右孩子节点的数据域均为0.用先序遍历的方法遍历该链表,每遍历到一个节点,就将节点数加1,若节点的左右孩子节点的数据域为0,则叶子节点数加1.

2、四、调试分析1.在调试过程中,要充分考虑到各种可能出现的情况。比如说,当有多个最小值时,需要依次与其后的节点进行操作;再如,到最小值在最后一个节点时,就不能进行任何处理了。时间复杂度:O(n)。2.好像没有遇到什么问题。3.此处要注意结束条件,否则可能没法正常退出。4.本题需要注意,链表中是否有数据域为4000的节点,有的话就不用再新建了。5.本题好像也没有遇到什么问题。6.本题要注意,叶子节点的定义。否则,程序无法判断节点是否为叶子节点。五、测试结果1.2.3.4.5.6. 六、源程序:#includestdlib.htypedefint datatype;typedefstruct nod

3、e datatype data; struct node *next;linklist;linklist *head,*p;linklist *creatlistr1(); /*尾插法*/void Delete(linklist *p,linklist *head);linklist *locate(linklist *head,datatype key);void output(linklist *p);int main() int Min; linklist *pMin=(linklist *)malloc(sizeof(linklist); printf(请输入单链表,并以-1结束:n)

4、; head=creatlistr1(); Min=head-next-data; p=head-next; while (p!=NULL) if (Minp-data) Min=p- pMin=p; p=p- 最小值为:%dn,Min); p=head; while (p=locate(p,Min)! if(p-next! if (Min%2) (p-data)=(p-data)=p- else Delete(p-next,head); 变更后的链表为: output(head); return 0;linklist *creatlistr1() /*尾插法*/ int ch; linkli

5、st *head,*s,*r; head=(linklist*)malloc(sizeof(linklist); r=head; scanf(%d,&ch); while(ch!=-1) s=(linklist*)malloc(sizeof(linklist); s-data=ch; r-next=s; r=s; scanf( r-next=NULL; return head;void output(linklist *ll) linklist *p; for(p=ll-p!=NULL;p=p-next) printf(%d ,p-data);void Delete(linklist *p,l

6、inklist *head) linklist *q=head; while (q-=p) q=q- q-next=p- free(p);linklist *locate(linklist *head,datatype key) linklist *p=head- while(p!data!=key) p=p- elsebreak; return p;linklist *head;linklist *reverse1(linklist *head); int i; head=(linklist *)malloc(sizeof(linklist); linklist *s,*r; for (i=

7、0;idata=x; p-linklist *reverse1(linklist *head) linklist *p,*q; while(p- q=p- p-next=q- q-next=head- head-next=q;ctype.hlinklist *head,*head2,*head3,*p,*p2,*p3;linklist *Delete(linklist *p,linklist *head);请输入链表,并以$结束: head2=(linklist *)malloc(sizeof(linklist); head2- head3=(linklist *)malloc(sizeof(

8、linklist); head3- p2=head2; p3=head3; if (isdigit(p-data) continue; if (isalpha(p- p2-next=Delete(p,head); p2=p2- p3- p3=p3- output(head2); output(head3); char ch; ch=getchar();=) ch=getchar();%clinklist *Delete(linklist *p,linklist *head) datatype price; datatype mount;void insert(linklist*head,dat

9、atype price,datatype mount);void output(linklist *head);请按价格从高到低的次序依次输入电视机的价格和数量,格式:“价格数量”,两组数据之间用空格分开,最后以“0 0”结束: insert(head,4000,10);%d%dprice,&mount); while(!(price=0 & mount=0)price=price;mount=mount;next=head;=head;%d %dnprice,p-void insert(linklist*head,datatype price,datatype mount) linklist

10、 *s,*p=head-next,*q=head; s=(linklist *)malloc(sizeof(linklist);=head,p-price4000) if (p-price=4000)mount+=10; elsestring.h#define Maxnum 1024 char strMaxnum=0; int i,j,flag=1;%s,str); j=strlen(str)-1;j;i+,j-) if (stri!=strj) flag=0; break; if (flag)是回文n不是回文n6.typedefstruct Nodestruct Node *lchild,*

11、rchild; Node,*pNode;int CreateTree(pNode &T) datatype e;e);if(e=0) T=NULL;else T=(pNode)malloc(sizeof(Node);if(! exit(-2); T-data =e; CreateTree(T-lchild );rchild );return 1;int CountNode(pNode T)int m=0,n=0;if(T=NULL)return 0; m=CountNode(T- n=CountNode(T-return (m+n+1);void leafcount(pNode p,int *count)if(p=NULL) return;if(p-lchild=NULL &rchild=NULL) (*count)+;return; leafcount(p-lchild,count);rchild,count); pNode T;int res=0;请用前序遍历的顺序建立二叉树,叶子节点的左右子树以0结束: CreateTree(T);节点数为:,CountNode(T); leafcount(T,&res);叶子节点数目为:,res);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1