- 10
- 0
- 约1.83万字
- 约 30页
- 2017-06-15 发布于四川
- 举报
上机报告
上机目的
掌握链表的基本运算:建立,查找,删除,排序等。
掌握树的基本运算。
上机内容
1.设有一个由正整数组成的无序单链表,编写完成下列功能的算法 找出最小值结点,且打印该数值; 若该数值是奇数,则将其与直接后继结点的数值交换;
若该数值是偶数,则将其直接后继结点删除’,‘abcba’都是回文, ‘ababab’不是回文,试编写程序判别从标准输入读入的以’@’为结束符的字符序列是否是回文。
6.试设计一个程序,求二叉树的结点数目和叶子结点数目。
设计说明:写出数据结构的定义和算法流程
第一题:
(1)使用尾插法建立带有头结点的单链表:因为题目要求为正整数,故以数字0最为结束符。
(2)查找过程中,首先定义两个结点类型的变量p、s,p指向头结点,s指向第一个结点,然后将p依次后移,并且每移动一次就将p的值与s的值进行比较,若p-datas-data,则将p赋给s;否则p继续后移,直至链尾。
(3)删除结点过程:删除结点就需要找到此结点的前驱结点,然后将此结点的前驱的后继指向此结点的后继结点即可。
(4)结点交换过程:定义一个中间结点,先将要交换的结点中的一个A赋给中间结点保存,然后将结点B的值赋给结点A,再将中间结点的值赋给结点B即可完成结点的交换。
(5)打印结点过程:首先定义局部结点变量p,并且使其指向要打印的链表的头结点,然后将p结点后移,每移动一次就打印当前
原创力文档

文档评论(0)