教学实习报告2
实验名称: 单链表反向输出
实验目的:
1. 深入理解链表的组成特点,掌握链表的单向访问特性。 2. 掌握基本的循环结构,理解链表遍历的循环结束条件。
3. 掌握链表的遍历的核心语句,以及使学生更进一步地提高程序调试能力。
实验内容:
编写一个子函数用于输出一个单向链表,其中形参为该链表的头结点地址,在主函数中调用该子函数,对其进行调试和验证。并自行编写代码实现单链表的逆向输出。 下面是我所编写的子程序代码:
void output(EMP *p)/*用于实现单向链表的单向输出*/ { p=p->next;
while(p!=NULL) { printf(
p=p->next;
}
EMP* found(EMP* p,int n)/*遍历链表并返回第n个数据结点的地址*/ { return (p->next==NULL||n==1)?p:found(p->next,n-1); /*运用栈的思想*/ }
void output(EMP *p) { p=p->next; while(p!=NULL) {
printf(
} }
该程序是在实验一的基础上进行编辑的,为了方便理解,先将上次实验的主要代码呈现如下: ······ ······
······
long creat(EMP *head);/*创建函数已经在上次试验中定义过了,具体代码不再赘述*/ void main()/*实现链表的逆向排列*/ { int i; long n; double t;
EMPlist.head=(EMP*)malloc(sizeof(EMP));/*参数的初始化*/
EMPlist.head->next=NULL; EMPlist.rear=NULL; EMPlist.len=0; printf(
/*调用创建函数*/
printf(
output(EMPlist.head);/*调用输出函数,实参为已建立链表的表头指针*/ if(n>=0)
{
putchar('\n');
for(i=0;i
{ t=found(EMPlist.head->next,i+1)->x;
found(EMPlist.head->next,i+1)->x=found(EMPlist.head->next,n-i)->x;/*由于需要大
量的调用函数,程序的时间代价太大*/ found(EMPlist.head->next,n-i)->x=t; }
基本思想:
考虑到单向链表的单向访问特性,欲实现链表的单向输出,应该在给定头结点的基础上从前往后一次访问。
对于要反向输出一个单向链表,我认为基本思想就两个,使其虚拟有双向的特性,这个可以通过数组实现,当然也可以编写found函数进行虚拟数组的输出乃至排序。第二个思想就是改变其访问方向,这个一方面可以通过链表内容的转置实现,另一方面也可以通过直接改变指针的指向实现。在此我选择比较简单的虚拟数组手法,借助found函数进行内容的逆向输出。
Output()函数的具体的流程图如下:
}
printf(
转置的基本思想:
采用虚拟数组,即运用对数组进行转置的思想,在不改变原链表的各节点的指向的连接方式的前提下,更换节点内的数据域的各成员的数值。然后调用输出函数即实现本程序的要求。
经典针对数组的转置代码:
for(i=0;i
在本程序中我完全是移植了这段代码,链表的(内容)转置。
但是这种思想的有效实现是要在借助found函数的成功编写的基础上的。在这里,found 函数的作用就相当于数组的
验证数据如下(采用实验一的结果作为本程序的验证条件):
输出结果:
转置前:
10 58 97 105 135 20 【换行】
转置后:
20 135 105 97 58 10【换行】
实验总结:
本次实习过程中没有遇到太大的困难,从思路构架,代码编写到调试和验证,没有遇到什么问题。我想一个程序编的效率高不高与编程人员对程序本身的理解和思考是有直接联系的。所以在以后的实习过程中,要多思考,多总结经验,这样才能真正的有所进步。另外,从这个程序我们可以发现在实际的程序算法的构思中,时间的代价和空间代价,以及代码的长度都有一定的相互制约关系,在今后的程序编写中应该注意这个问题。
相关文章
- 目标管理原理在护理临床实习教学管理中的研究
- 各教学环节质量标准20**年.3
- 学校培训实习生计划
- 教育实习工作手册
- 体育教育实习总结范文
- 1-实训中心规章制度汇编
- 教育实习的时间和主要任务要求
- [精品]校外实习实践计划
- 美国教师教育实习制度的专业化走向?
- 科教科工作职责
[摘要] 目的 提高临床实习教学管理水平.方法 在护理临床实习教学管理中,应用目标管理原理制定新的临床实习管理组织和考核要求,以满足需求的变化,不断完善临床护理教学.结果 目标管理原理教学法有助于提高医院临床实习教学的管理. 结论 目标管理 ...
武汉民政职业学院主要教学环节质量标准 为进一步加强我校教学工作管理,建立健全教学管理制度,完善教学质量监控体系,提高教学质量,特制定主要教学环节质量标准. 一.教学准备环节质量标准 1. 各门课程必须具备课程标准(或教学大纲).课程标准(或 ...
培训实习生计划 ----延庆县第二小学 一.培训目的: 教育实习是对师范生进行专业思想教育和教育业务训练,培养合格教师的重 要环节,目的在于通过我校有效的教育教学工作,使实习生将所学的基础理论.专业知识与技能综合运用于教育教学实践.增强本科 ...
教育实习工作手册 第一章 总 则 一.教育实习的地位和作用 教育实习是高等师范院校教学计划的重要组成部分,是师范教育贯彻理论与实践相结合的原则的体现,是综合性.实践性的必修课程,也是全面检验和进一步提高我校教育质量,培养适应社会需要的中等教 ...
范文一 实习对于体育教育专业的的师范生来说,是门必修课,也是我们将来踏上社会的一个转折点,是必须要精力的.在这段期间我精力了很多,第一次真正站上讲台,第一次在这么多学生面前讲授知识,第一次体会到为人师表的滋味,那么多的第一次让我也学会很多东 ...
江苏省宝应职业教育中心校 实 验 实 习 规 章 制 度 汇 编 (2007年9月修订) 实训中心 2007.9 目 录 教师篇 1 实践教学管理规定„„„„„„„„„„„„„„„„„„ 2 实验实习室精神文明公约„„„„„„„„„„„„„ ...
教育实习主要任务和要求 一.见习阶段 1.内容:听学校介绍.了解情况,观摩示范课,随堂听课,备课,试讲. 2.要求: (1)听实习学校领导介绍学校基本情况,特别是实施素质教育情况,本学期工作计划和学校在管理.教改.科研方面的经验和特色. ( ...
篇一:校外实习实践计划 一.活动背景 周恩来作为伟大的无产阶级革命家,他的形象之所以光彩照人,世人景仰,不仅在于他留下了许多闪光的思想,丰富了共产党人的理论宝库:也不仅在于他创造了许多光辉 ...
美国教师教育实习制度的专业化走向 作者:何振海 高镜淳 来源:<河北大学学报·社科版>2015年第02期 摘要:美国师资培养机构经历了由最初的中等师范学校到独立的教师学院,进而过渡到综合大学教育学院的演变过程.在这一过程中,作为 ...
科教科工作职责 负责组织制定全院科研教学工作计划,配合院领导制定重点学科建设管理.学历教育.科技奖励.继续教育及学术活动等相关规章制度,监督检查教学管理,负责组织继续教育及各项培训工作等工作,具体内容和范围如下: 1.科研.重点学科建设 ① ...