链表总结

链表总结
链表总结

一、单链表

单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为节点列表,因为链表是由一个个节点组装起来的;其中每个节点都有指针成员变量指列表中的下一个节点;

列表是由节点构成,由head指针指向第一个成为表头的节点而终止于最后一个指向nuLL 的指针;

1.建立链表(尾插法):

尾插法的基本思想:

1.生成一个节点,将读入的数据存放到新节点的数据域中

2.把新节点插到当前链表的尾节点之后

3.重复上述过程,直至输入结束标志

尾插法读入数据的顺序和线性表的逻辑顺序是相同的

[cpp]view plaincopyprint?

1.void creat_list( Node* &head) { //传入指向表头的指针,这个指针要保存下来。注

意Node* &,是Node* 类型的引用

2.

3.Node *pre,*newNode;

4.head = pre = new Node; //生成表头结点

5.

6.newNode = new Node; //建立新节点

7.cin>>newNode->num; //输入新节点的值

8.while(newNode->num) { //判断输入结束的条件

9.pre-> next = newNode; //上一个节点连接新节点

10.pre = newNode; //因为马上要申请新空间,此时的新节点即将变成“上一个节点”,保存给

pre

11.newNode = new Node; //再次申请新空间

12.cin >> newNode->num; //输入值

13.}

14.pre->next = NULL; //结束后,将单链表最后一个节点rear指针置为空,标志着结束

15.}

2.建立链表(头插法)

头插法的基本思想:

1.生成一个节点,将读入的数据存放到新节点的数据域中

2.把新节点作为第一个表节点查到单签链表头节点之后

3.重复上诉过程,直至输入结束标志为止

头插法读入数据的顺序和线性表的逻辑顺序是相反的。

[cpp]view plaincopyprint?

1.void creat_head(Node* &head) {

2.Node *newNode;

3.head = new Node;

4.head->next = NULL;

5.newNode = new Node;

6.cin>>newNode->num; //输入数据

7.while(newNode->num){

8.newNode->next = head->next;

9.head->next = newNode;

10.newNode = new Node;

11.cin >> newNode->num;

12.}

13.}

3.单链表查找:按值查找

[cpp]view plaincopyprint?

1.Node* search_value(Node *head, int x){ //x为要查找的值

2.Node *p=head->next;

3.while(p!=NULL && p->num!=x)

4.p = p->next;

5.if(p->num ==x )

6.return (p);

7.return NULL;

8.}

4.单链表查找:按位置查找

[cpp]view plaincopyprint?

1.Node* search_local(Node *head, int i) { //i为要查找的位置

2.Node *p=head;

3.int count=0;

4.while(p->next!=NULL && count

5.p = p->next;

6.++count;

7.}

8.if(count==i)

9.return (p);

10.return NULL;

11.}

5.单链表插入:前插(后插)

操作过程:

1.生成一个新节点newNode,将值x赋给新节点newNode的数据域

2.从表头节点开始,查找p的前驱节点q

3.修改有关节点的指针域,将newNode指针域指向p节点,q节点指向newNode

[cpp]view plaincopyprint?

1.Node* inset_front(Node *head,int i,int x){ //x为要插入的值,i是位置

2.Node *p,*newNode;

3.newNode = new Node; //申请新空间

4.newNode->num = x; //赋值

5.p = search_local(head,i-1); //只要把i-1改成i,就变成了插在i的后面(后插法)

6.newNode->next = p->next;

7.p->next = newNode;

8.return head;

9.}

6.单链表的删除(删除链表中的值x)

操作过程:

1.假设有两个节点pre和p,pre是p的前驱节点,p为要删除的节点

2.找pre,从链表head的头结点开始,一次向后进行搜索,当pre-next = p时,找到

3.修改pre-next = p-next,把p的前驱节点指向p的后继节点,并且删除空间

[cpp]view plaincopyprint?

1.Node* delete_link(Node *head,int x){

2.Node *pre,*p; //pre存p的前驱节点

3.p = head;

4.while(p!=NULL && p->num!=x) {

5.pre=p;

6.p = p->next;

7.}

8.if(p!=NULL) {

9.pre->next = p->next;

10.delete (p);

11.return head;

12.}

13.else {

14.cout<<"要删除的值不存在\n";

15.return NULL;

16.}

17.}

二、循环列表

循环链表:表中最后一个节点的指针域不再是空,而是指向第一个节点,整个链表形成一个环。

特点:从表中任一节点出发,就可搜寻到其他所有节点

作用:在许多实际应用中,对链表的操作运算是在表头、表尾进行的,这时可以改变链表的标识方法,不用头指针

而用指向尾节点的尾指针rear来标识,以提高效率。

和单链表的比较:

单链表中,找到第一个元素时间为O(1),最后一个元素为O(n);

而应用循环链表,则找到最后一个元素为O(1),由于最后一个元素指向第一个元素,因此找到第一个元素也为O(1)

运算: 循环链表与单链表的运算基本一致,区别在于判断遍历表完成条件不同,单链表判断当前指针域是否为空,而循环

链表判断当前节点指针域是否为表头指针。

//下面以查找运算为例

[cpp]view plaincopyprint?

1.//下面以查找运算为例

2.

3.Node* search_value(Node *head, int x){ //x为要查找的值

4.Node *p=head->next;

5.while(p->next!=head && p->num!=x) // p->next!=head

6.p = p->next;

7.if(p->num ==x )

8.return (p);

9.return NULL;

10.}

三、双向链表

双向链表:指沿着前驱和后继方向都能遍历的线性链表。

其每个节点都有两个指针域:一个指向其后继节点,另一个指向其前驱结点。

双向链表的节点类型定义为:

[cpp]view plaincopyprint?

1.struct Dnode{

2.int data; //data储存表中的元素

3.Dnode *next,*prior; //next指向后一节点指针,prior指向前一节点指针

4.};

双向链表优点:双向链表既有向前的指针域,又有向后的指针域,这就使得双向链表的前插和后插

以及删除操作都很方便,只需要修改几个节点的指针域,而不必进行大量的数据交换和遍历操作

[cpp]view plaincopyprint?

1.// 节点类型

2.struct Dnode{

3.int data; //data储存表中的元素

4.Dnode *next,*prior; //next指向后一节点指针,prior指向前一节点指针

5.};

6.

7.//双向链表的前插(在某节点p之前插入一个新节点s)

8.Dnode *insert_before(Dnode *head,Dnode *p, int x){

9.Dnode *s; //s为要插入的节点

10.s = new Dnode; //建立新节点

11.s->data = x; //给s节点的数据域赋值

12.s->next = p; //步骤1:将节点s的后继指针指向p;

13.s->prior = p->prior; //步骤2:将节点s的前驱指针指向节点p的前驱节点

14.p->prior->next = s; //步骤3:将p的前驱结点的后继指针修改为指向新节点s;

15.p->prior = s; //步骤4:将节点p的前驱指针修改为指向新节点s.

16.return head;

17.}

18.

19.

20.//双向链表的后插(在某节点p之后插入一个新节点s):

21.Dnode *insert_back(Dnode *head,Dnode *p, int x){

22.Dnode *s; //s为要插入的节点

23.s = new Dnode; //建立新节点

24.s->data = x; //给s节点的数据域赋值

25.s->next = p->next; //步骤1:将节点s的后继指针指向p;

26.s->prior = p; //步骤2:将节点s的前驱指针指向节点p的前驱节点

27.p->next->prior = s; //步骤3:将p的前驱结点的后继指针修改为指向新节点s;

28.p->next = s; //步骤4:将节点p的前驱指针修改为指向新节点s.

29.return head;

30.}

31.

32.

33.//双向链表节点的删除:

34.Dnode *delete_Dnode(Dnode *head,Dnode *p){

35.if(p != NULL){

36.p->prior->next = p->next; //步骤1:将p的前驱节点的后继指针改为指向p的后继

37.p->next->prior = p->prior; //步骤2:将p的后继结点的前驱指针改为指向p的前驱

38.delete (p); //步骤3:释放p的存储空间

39.return head; //返回带头结点双向链表的头指针

40.}

41.else

42.return NULL;

43.}

软件实验心得体会范文

软件实验心得体会范文 经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。 需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。 其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是"很明显"的信息。

最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。为了克服以上的问题,必须有组织的执行需求的获取活动。 需求获取活动要完成的任务或者步骤的过程如下: 编写项目视图和范围文档 系统的需求包括四个不同的层次:业务需求、用户需求和功能需求、非功能性需求。业务需求说明了提供给用户新系统的最初利益,反映了组织机构或用户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 非功能性需求是用户对系统良好运作提出的期望,包括了易用性、反应速度、容错性、健壮性等等质量属性。需求获取就是根据系统业务需求去获得系统用户需求,然后通过需求分析得到系统的功能需求和非功能需求。项目视图和范围文档就是从高层次上描述系统的业务需求,应该包括高层的产品业务目标,评估问题解决方案的商业和技术可行性,所有的使用实例和功能需求都必须遵从的标准。而范围文档定义了项目产品所包括的所有工作及产生产品所用的过程。项目相关人员对项目的目标和范围能达成共识,整个项目组都应该把注意力集中在项目目标和范围上。

实验室心得体会

实验室心得体会 实验室即进行试验的场所,在实验室工作要谨慎且细心。下 面是带来的实验室心得体会范文,欢迎大家阅读。 经历了四周共八个学时的焊接学基础实验,我觉得自己学到 了很多东西,虽然大二的时候自己也在金工实习的时候学过电焊,但是那时候自己对焊接原理是完全不了解,到现在基本学习完了 焊接学基础的理论教学再来做实验的我感觉轻松了,因为我懂得 了很多焊接学的原理。也知道了焊接不只是电焊,另外还有气焊 等等。 这四周的焊接学实验我们总的来说学习了气焊和电焊,气焊 中也分了对低碳钢、中碳钢和高碳钢的焊接,我们在焊接过程中 可以明显的感觉到对于高中低碳钢的难易明显不同! 有一次课程我们学习的是铸铁的焊接,对于铸铁的流动性也 明显可以感受到比较差!每次体验实验之前老师总是给我们介绍 实验需要注意的事项以及实验内容!通过老师的介绍和之后亲身 的体验可以说我们对于每次实验的内容都有很好的理解和体会。 对于这次的电焊实验我的记忆尤其深刻,因为在试验过程中 我出现了很多问题,老师总会给我详细解释出现问题的原因和这 些问题应该怎样解决,比如有一次的试验内容是薄板钢的对接。 两块薄薄的钢板,我很认真的摆放在试验板上焊接,我本以为这 是最简单的焊接了,但是结果却不如意,当我用平焊的方式把这

两块钢板焊接完以后才发现焊接后的钢板出现了严重的变形,原 本平的钢板变得翘起来了!而且由于焊接技术不好使得焊缝很不 平整有些地方甚至出现了焊穿的现象,面对这样的焊接产品我真 是无地自容!但是老师给我详细解释了出现这些问题的原因,比 如钢板翘起来了是因为焊接过程中的散热不均匀,这些现象可以 用经验解决。对于焊穿的那个窟窿老师握着我的手一点一点的把 它填上了,老师告诉我这是由于汉弧太短以及焊接速度太慢造成的!他还鼓励我别灰心,我特感动! 我十分懊恼自己有一身的理论知识却还是焊接处这么差的效果,所以我觉得这次的实验是很必要的,对于我们这些学了很多 理论知识的学生来说是很有帮助的,它使得我们看到了自己的差 距和经验的不足,以后需要勤奋的学习的同时多注重实际的运用,这样才应该是全面实际的应用型人才! 透过这次实验,我大开眼界,正因这次实验个性是回转机构 振动测量及谱分析和悬臂梁一阶固有频率及阻尼系数测试,需要 用软件编程,并且用电脑显示输出。能够说是半自动化。因此在 实验过程中我受易非浅:它让我深刻体会到实验前的理论知识准备,也就是要事前了解将要做的实验的有关质料,如:实验要求,实验资料,实验步骤,最重要的是要记录什么数据和怎样做数据 处理,等等。虽然做实验时,指导老师会讲解一下实验步骤和怎 样记录数据,但是如果自己没有一些基础知识,那时是很难作得 下去的,惟有胡乱按老师指使做,其实自己也不知道做什么。

实验二 链表操作实现

实验二链表操作实现 实验日期: 2017 年 3 月 16 日 实验目的及要求 1. 熟练掌握线性表的基本操作在链式存储上的实现; 2. 以线性表的各种操作(建立、插入、删除、遍历等)的实现为重点; 3. 掌握线性表的链式存储结构的定义和基本操作的实现; 4. 通过本实验加深对C语言的使用(特别是函数的参数调用、指针类型的应用)。 实验容 已知程序文件linklist.cpp已给出学生身高信息链表的类型定义和基本运算函数定义。 (1)链表类型定义 typedef struct { int xh; /*学号*/ float sg; /*身高*/ int sex; /*性别,0为男生,1为女生*/ } datatype; typedef struct node{ datatype data; /*数据域*/ struct node *next; /*指针域*/ } LinkNode, *LinkList; (2)带头结点的单链表的基本运算函数原型 LinkList initList();/*置一个空表(带头结点)*/ void createList_1(LinkList head);/*创建单链表*/ void createList_2(LinkList head);/* 创建单链表*/ void sort_xh(LinkList head);/*单链表排序*/ void reverse(LinkList head);/*对单链表进行结点倒置*/ void Error(char *s);/*自定义错误处理函数*/ void pntList(LinkList head);/*打印单链表*/ void save(LinkList head,char strname[]);/*保存单链表到文件*/

实验心得体会

水泥混凝土配合比设计实验心得体会 随着六月二十八日我们完成了水泥混凝土的强度试验,这次关于水泥混凝土的一系列实验部分我们已经完成,接下来要做的就是内业整理部分了,处理实验数据,完成实验报告,在5天的实验当中,我们每个人都有自己的任务,大家都积极参与进来,真的学到了不少知识,同时也给我留下了不少深刻的印象,回想一下,总结为以下三个方面: 第一:耐心、不怕脏、不怕累不可少。在这几天的实验过程中,对于实验有时候真的很枯燥,需要我们的耐心还有细心;而有些时候,我们需我们发扬不怕累不怕苦的精神,该拿锤子敲集料的时候就要敲集料;该铲石头的时候就要铲石头;该人工拌合混凝土的时候,我们就得拿铁锹一遍又一遍的拌合混凝土…在这一过程中我们需要不怕脏不怕累,该怎么样就怎么样,既然我热爱这个专业,当初选择了这个专业,我就不怕吃苦,今后参加工作后环境会更苦,所以通过这次实验我就开始锻炼自己,锻炼自己的意志,周末我们依然可以在实验室中度过,中午可以不休息,在实验室测水泥的凝结时间,这些我做到了,现在回想起来,还是蛮高兴的。 第二:严谨细致不可丢。实验本身就是通过我们自己的操作来得到某些结论,或观察实验现象,所以为了得到更准确的实验结论,我们必须在实验过程中,要求自己以严谨的态度去完成每一步操作,比如称量是我们要细致的去调节,严格按照规范上的质量称取所需要的试验品,而不是只求个大概,在有量筒取水时,我们要看凹液面的最低处,而不是懒懒散散的随便看一下;另外在实验过程中可能有些实验的操作比较多,步骤比较繁琐,这时我们不能抱着求快的心理将有些步骤省略,或者缩短操作时间等等,不能想当然的,这些都会对实验造成很大的误差,那么从某种意义上来说,它已经失去了原来的意义了。比如在水泥的凝结时间的测定中我们就需要每半小时测一次,虽然在前几个小时,都是一样的,但是我还是要按照规范来测,免得造成误差。 第三:总结思考不可无。实验的魅力在于经过我们自己的长时间操作,曲曲折折的过程最终我们得到了实验结果那一刻的喜悦之情!当然试验不能就此认为结束了,我们需要做的还有很多其中很重要的一方面就是:总结思考。试验完成后我们要想一下为什么会出现这样的结果,为什么与理论结果会有出入?造成这些不同的原因在哪里?我们还可以与其他组进行对比,在对比中找出不同,然后分析不同的原因在哪里?只有这样我们的实验做得才有意义,加入了自己的思考,而不是简简单单地对着规范上的条文,按照上面所述,呆板的操作。比如在试验后,我就分析了一下为什么我们的混凝土强度没有其他组的强度高?水灰比的不同是一方面,还有就是在拌合过程中出现离析现象。 总之,在这5天的实验过程中,真的学到了一些东西,给我印象最深刻的是;

实验心得体会优秀范文

实验心得体会优秀范文 [导语]我们从一些事情上得到感悟后,就很有必要写一篇心得体会,这样我们可以养成良好的总结方法。那么如何写心得体会才能更有感染力呢?下面是帮大家整理的《实验心得体会优秀范文》,希望能够帮助到大家。 [篇一]实验心得体会优秀范文 在公司实习的这段时间里,我在公司主要负责xxx。我想这些对于一个实习生来说是太难得的锻炼机会,所以我也十分的珍惜。对上头的指示都按时完成,有很多不懂的操作我也进取地去提问在一系列工作的同时,我也尽可能的运用自我所学的专业知识,以便到达能够新颖的全面的展现我公司的实力以及产品或者活动的内涵,从而产生相对进取的社会影响力,因为对于新生的企业,社会影响是企业前进与生存不可忽略的一方面,是容不得怠慢的。 在平时工作的环境中我学会了如何简便地工作同时把工作质量提高这主要窍门在于多与公司部门的职员沟通态度谦卑建立良好的关系不懂就要问要谦虚的理解前辈的提议。 在实习的这段时间里我感受到了要生存于社会之中的不易与艰难。室内设计是个苦差使,每个设计师都不容易。但我既然在填报高考志愿的时候选择了这个专业,我此刻也未曾后悔过我的选择。室内行业是一个需要不断学习的行业,室内设计要提高生活审美质量,如果设计师的思维跟不上趋势,那么室内设计的作用也就无从谈起了。我个人认为室内设计工作者不仅仅要有专攻并且还要博闻强识。经过这次实习,我了解了室内设计方向的一些状况,明确了自我的位置,这些都为我以后的方向选择供给了一个具有借鉴意义的依据,为我走好下一步做好了基础。其次,做一个室内设计师,我深深的体会到知识面越广设计就越做的得心应手。所以,回到学校,我还仍有很多书要看,很多东西要学。文字的东西总是相互关联的,“运用之妙,存乎

各种实验心得体会

实验心得体会 在做测试技术的实验前,我以为不会难做,就像以前做物理实验一样,做完实验,然后两下子就将实验报告做完.直到做完测试实验时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅. 在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如做应变片的实验,你要清楚电桥的各种接法,如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半.做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛. 通过这次测试技术的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅. 实验心得体会 这个学期我们学习了测试技术这门课程,它是一门综合应用相关课程的知识和内容来解决科研、生产、国防建设乃至人类生活所面临的测试问题的课程。测试技术是测量和实验的技术,涉及到测试方法的分类和选择,传感器的选择、标定、安装及信号获取,信号调理、变换、信号分析和特征识别、诊断等,涉及到测试系统静动态性能、测试动力学方面的考虑和自动化程度的提高,涉及到计算机技术基础和基于LabVIEW的虚拟测试技术的运用等。 课程知识的实用性很强,因此实验就显得非常重要,我们做了金属箔式应变片:单臂、半桥、全桥比较,回转机构振动测量及谱分析,悬臂梁一阶固有频率及阻尼系数测试三个实验。刚开始做实验的时候,由于自己的理论知识基础不好,在实验过程遇到了许多的难题,也使我感到理论知识的重要性。但是我并没有气垒,在实验中发现问题,自己看书,独立思考,最终解决问题,从而也就加深我对课本理论知识的理解,达到了“双赢”的效果。 实验中我学会了单臂单桥、半桥、全桥的性能的验证;用振动测试的方法,识别一小阻尼结构的(悬臂梁)一阶固有频率和阻尼系数;掌握压电加速度传感

数据结构课程设计单链表操作

《数据结构课程设计》报告 题目:单链表操作 专业:计算机科学与技术 班级: 单链表操作 针对带头结点的单循环链表,编写实现以下操作的算法函数。

实现要求: ⑴单链表建立函数create:先输入数据到一维数组A[M]中,然后根据一维 数组A[M]建立一个单循环链表,使链表中个元素的次序与A[M]中各元素的次序相同,要求该函数的时间复杂度为O(m); ⑵定位查找函数Locate:在所建立的单循环链表中查找并返回值为key的 第1个元素的结点指针;若找不到,则返回NULL; ⑶求出该链表中值最大和次大的元素值,要求该算法的时间复杂度为O(m), 最大和次大的元素值通过指针变量带回,函数不需要返回值; ⑷将链表中所有值比key(值key通过形参传入)小的结点作为值为key的结 点前驱,所有值比key大的结点作为值为key的结点后继,并尽量保持原有结点之间的顺序,要求该算法的时间复杂度为O(m); ⑸设计一个菜单,具有上述处理要求和退出系统功能。 ⒈本人完成的工作: 一、定义结构体:LNode 二、编写以下函数: (1)建立单循环链表 (2)建立定位查找函数 (3)求出链表中最大和次大值 (4)将链表中的值和输入的Key比较,小的作为key前驱结点,大的作为key 的后继结点 三、设计具有上述处理要求和退出系统菜单 ⒉所采用的数据结构:单链表 数据结构的定义: typedef struct Node //定义结点的结构体 { DataType data; //数据域 struct Node *next; //指针域

}LNode; //结点的类型 ⒊所设计的函数 (1)Create(void) LNode *Create(void) //建立单循环链表,链表头结点head作为返回值{ int i,j,n,A[M]; //建立数组A【M】 LNode *head,*p,*move; head=(LNode*)malloc(sizeof(LNode)); //创建空单循环链表head->next=head; move=head; printf("请输入数组元素的个数:"); //输入数组 scanf("%d",&n); printf("请输入数组:"); for(i=0;idata=A[j]; p->next=move->next; move->next=p; move=move->next; } return head; //返回头指针

实验心得总结范文精选

实验心得总结范文精选 实验心得总结范文精选一 作为高频电子的老师,高频基础实验可以说算得上是让学生一次崭新的实验尝试。比如说:新奇,原则性强等等,学生从一开始的一窍不通,到后来的熟悉,喜欢,感觉自己学到了很多,很多。算起来虽只让学生做了六次实验,仅仅只是初步接触,当却感觉学生学到了不少东西。一些从书本上学不到的东西。 我觉得要做好高频电子实验,需要意识到如下几点: 1、充分的预习是必要的。以往做电子技能实训与考核实验台电工实验时学生往往只看一下步骤,原理一带而过。这样做实验时便会吃大亏。一般在实验前得花上一个小时去预习。这样试验结果是令人满意的。

2、需要预先对结果进行预测,至少在碰到问题时会合理的去分析问题。之所以会这样说也是有血的教训的,由于某个学生对过程中一个问题视而不见,导致出现了重做的悲惨命运。 3、对一些实验注意事项要在意。这里可不是说我弄坏了什么东西,而是基于大家都明白的一个道理:水火无情,电更无情。可能是由于我的原因吧,我每次让学生实验时,似乎对学生很不放心,可谓事必躬亲,再三叮嘱,这也有一个好处:试验出错的可能性大大减少,而且安生性也大大增加了。 在实验的过程中,让学生学会如何分析问题,如何解决问题,以及如何总结问题。通过这段时间的高频电子实验,学生能够掌握高频电子的一些基本理论了。比方说lc谐振电路,频带的展宽等。让学生了解到仅仅通过一些简单的试验仪器便可以将知识运用进生活中去。这对于学生以后的发展,我想是大有裨益的。 实践是检验真理唯一的标准,我想电工电子电力拖动实训考核台高频电子实验之所以会在学生中大受欢迎,并被视

为学校开放性实验室,与其在实验中和学生走在一起的原则是分不开的。希望以后还有机会进这个实验室。 实验心得总结范文精选二 实验相对于每个人来说都有着特殊的意义,一般意义上来说他肯定是都会有不一样的心得体会,对于那些学习过实验后的人来说记录下这些心得体会是十分重要的,写一份实验心得体会他不仅仅能抒发自己的情感,与此同时我们还能学会做人,在这里,小编为大家准备了实验心得体会的范文,小编希望能够帮助大家更好的阐述自己的校本实验心得体会。 1.这个学期我们学习了测试技术这门课程,它是一门综合应用相关课程的知识和内容来解决科研、生产、国防建设乃至人类生活所面临的测试问题的课程。 测试技术是测量和实验的技术,涉及到测试方法的分类和选择,传感器的选择、标定、安装及信号获取,信号调理、变换、信号分析和特征识别、诊断等,涉及到测试系统静动

双向链表基本操作

双向链表 输入一个双向链表,显示些双向链表并对此双向链表排序运行结果: 源程序: #include #include #include

typedef struct Link/*双向链表结构体*/ { int data; struct Link *lift; struct Link *right; }linkx,*linky; linky Init();/*建立双向链表*/ void PrLink(linky p);/*输出双向链表*/ linky Sort(linky head);/*对双向链表排序*/ linky Swap(linky head,linky one,linky two);/*任意交换双向链表两个结点的地址*/ void main(void) { linky head; head=Init(); head=Sort(head); PrLink(head); } linky (Init())/*建立链表*/ { linky p,q,head; int n=0; head=p=q=(linky)malloc(sizeof(linkx)); printf("排序前的链表: "); scanf("%d",&p->data);/*输入数据*/ head->lift=NULL; n++; while(n!=10)/*一直输入到规定的数字个数停止*/ { q=p;

p=(linky)malloc(sizeof(linkx)); scanf("%d",&p->data);/*输入数据*/ q->right=p; p->lift=q; n++; } p->right=NULL; return(head); } linky Swap(linky head,linky one,linky two)/*任意交换两个结点*/ {linky temp; if(one->lift==NULL&&two->right==NULL)/*首和尾巴的交换*/ { if(one->right==two)/*只有两个结点的情况下*/ { two->right=one; two->lift=NULL; one->lift=two; one->right=NULL; head=two; } else/*有间隔的首尾交换*/ { one->right->lift=two; two->lift->right=one; two->right=one->right; one->lift=two->lift; two->lift=one->right=NULL; head=two;/*尾结点成为头结点*/ }

心得体会 心得体会范文 实验心得体会四篇

实验心得体会四篇 实验心得体会(一) 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导

致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,对试验箱内部结构功能的不懂,以至于不知道如何连线让程序实现其功能。这让我意识到单片机是软件和硬件的结合,两者是一个整体。所以必须把硬件方面加强。 五是基础知识的薄弱,也是最基础的问题吧!在用C语言编程时,才发现自己C语言真的太差劲了,虽然这门课程早就学过,但是就目前所掌握的C语言知识,对于单片机编程远远不够。C语言也是我们以后学各种语言的基础,必须要花大量的时间温习强化。

实验课的心得体会

实验课的心得体会 篇一: 经过半年的生化实验的学习让我受益菲浅。在生化实验课即将结束之时,我对在这半年来的学习进行了总结,总结这一年来的收获与不足。取之长、补之短,在今后的学习和工作中有所受用。 这半年的生化实验主要有folin-酚法测蛋白稀碱法提取酵母RNA 醋酸纤维薄膜电泳 RNA定量测定-UV吸收法纤维素酶活力的测定最适PH选择菲林试剂热滴定定糖法肌糖元的酵解作用 N-末端氨基酸残基的测定--DNS-CL法柱层析分离色素凯式定氮法等实验。 在这些实验中,凯式定氮法是给我印象最深的一个实验,因为这个实验使我认识了改良式凯式蒸馏仪的基本结构,同样的也让我通过这次实验掌握了凯式定氮法的操作技术。在这次实验中,我和我的同组者-韩文志犯了一些错误,而且是很不应该犯的错误,我们都忘了在做实验时要加入新的沸石,这是个很低级的错误,差点引起溶液的暴沸。通过这次错误我认识到,很多知识,即使是老师在怎么说,它也只是理论,当我们不能把它应用到实践中去时,它对我们都是毫无意义的。现在更深的认识到了理论结合实际的观点。在这次实验中我们损坏了改良式凯式蒸馏仪,并且赔了钱,钱不是问题,重要的是操作的问题,我觉得我们在做实验时

还是对仪器不是很熟悉,做实验时不认真。 还有一个是柱层析分离色素,这个实验主要是掌握吸附层析的原理和操作技术,我记得这次实验我是第二个到的实验室,当时还很有成就感,进来后就称菠菜,还有研磨,这是很累人的活,我觉得,因为想把它研磨的好些,又想快点做实验,于是就一直磨一直磨,直到做下一步时才觉得手腕有点累。我记得在加棉花时,由于不知道应该加多厚,提取色素时还很是胆战心惊的。我觉得在这个实验中,装柱这一步是很重要的,于是我们很小心的装,直到柱面很平。直到最后,分离色素后,看到我们的色带分离的很好,很是高兴。 半年实验做下来,最“苦”的要数“菲林试剂热滴定定糖法”这个实验了。这个实验要求我们正确掌握滴定管的使用方法和热滴定的终点。由于全部滴定过程必须在沸腾状态下快速进行,而且终点不容易把握,我们滴了好几十次才确定了终点。当时我的同组者-韩文志已经被火烤的不行了。 在这半年的十几次的实验的学习中,我受益颇多。毫无疑问,它培养了我的动手能力。每个实验我都会亲自去做,不放弃每次锻炼的机会。经过这半年,我的动手能力有了明显的提高;它让我养成了课前预习的好习惯。一直以来就没能养成课前预习的好习惯,但经过这半年,让我不仅深深的懂得课前预习的重要,更领会了课前预习的好处。只有在课

单链表基本操作实验

实验2 链表的操作 实验容: 1)基础题:编写链表基本操作函数,链表带有头结点 (1)CreatList_h()//用头插法建立链表 (2)CreateList_t()//用尾插法建立链表 (3)InsertList()向链表的指定位置插入元素 (4)DeleteList()删除链表中指定元素值 (5)FindList()查找链表中的元素 (6)OutputList()输出链表中元素 2)提高题: (1)将一个头节点指针为heada的单链表A分解成两个单链表A和B,其头结点指针分别为heada和headb,使得A表中含有原单链表A中序号为奇数的元素,B表中含有原链表A中序号为偶数的元素,且保持原来的相对顺序。 (2)将一个单链表就地逆置。 即原表(a1,a2,。。。。。。 an),逆置后新表(an,an-1,。。。。。。。a1) /* 程序功能 :单链表基本功能操作 编程者 :天啸 日期 :2016-04-14 版本号 :3.0 */ #include #include typedef struct List { int data; struct List *next; }List; void CreatList_h(List *L) //头插法 { int i = 0; int n = 0; int goal; List *p; printf("请输入数据的个数:\n"); scanf("%d",&n); L -> next = NULL; for(i=0;i

{ printf("请输入第%d个数:\n",i+1); scanf("%d",&goal); p = (struct List*)malloc(sizeof(struct List)); p -> data = goal; p -> next = L->next; //将L指向的地址赋值给p; L -> next = p; } } void CreateList_t(List *L) //尾插法 { int i; int n; int goal; List *p; List *q=L; printf("请输入数据的个数:\n"); scanf("%d",&n); for (i=0;i data = goal; q -> next = p; q = p; } q -> next = NULL; } void InsList(List *L,int i,int e) //插入 { List *s; List *p = L; int j = 0; while (p&&jnext; ++j; } s = (struct List*)malloc(sizeof(struct List)); s -> data = e; //插入L中

链表的基本操作

2.链表的基本操作 对链表施行的操作有很多种,最基本的操作是在链表中插入结点、在链表中删除结点、在链表中查找结点等。 (1) 链表结点的插入 ①在空链表中插入一个结点 空链表就是头指针为空的链表。 a)用如下语句申请一个new结点: new=(struct node)calloc(1,sizeof(struct node)); b)为new结点填充数据:将要存储的数据对应传递给new结点数据域的各个成员。 c)修改有关指针的指向:将new的next成员置空,使new结点成为链表的最后一个结点;将head指向new结点。 ②在链表的结点之后插入一个结点 要在链表head的C、D结点之间出入一个new结点,就是将new结点变成C结点的下一个结点,而new结点的下一个结点为D结点. 操作过程为: a) 使new的指针域存储结点D的首地址。 b) 使C结点的指针域存储结点new的地址。 例2 建立学生成绩链表,链表有3个结点。 #include #define N 3 struct s_node { char num[4]; int score;

struct s_node *next; }; main() { struct s_node *creat_node(void); /*生成链表结点的函数*/ struct s_node *creat_list(int n); /*建立链表的函数*/ void out_list(struct s_node *head); /*输出链表函数*/ struct s_node *head=NULL; head=creat_list(N); out_list(head); } struct s_node *creat_node(void) /*生成链表结点的函数*/ { struct s_node *p; int score; fflush(stdin); p=(struct s_node *)calloc(1,sizeof(struct s_node)); gets(p->num); scanf("%d",&score); p->score=score; p->next=NULL; return(p);

实验报告心得体会

智能家居物联网工程训练---心得体会 这一个学期的电子工程训练给我最为深刻的感受就是——进了信电系真好。尤其是在四楼做的智能家居物联网工程训练,通过对小白路由器,智能插座和智能机器人小车的组装和使用体验,更是让我充分体会到了电子信息产业的魅力和乐趣。 在各项科技都飞速发展的当今社会,电子信息产业作为21世纪最具潜力的产业之一,其发展速度更是如雨后春笋般迅猛。作为一名信息工程专业的当代大学生,更是不能与时代脱节,必须及时接触电子信息产业的尖端科技,才能跟上电子信息发展的步伐。感谢这门课程让我在学习理论的同时,能够亲手实践,接触并了解了智能家居物联网的相关知识,参与并操作了原来只能在电视上观看的事情。 记得以前看电视的时候,常会不经意看到那些明星在综艺节目里展示他的智能家居,在千里外用手机按几个按键,家里的电视就自动播放,灯就自动点亮之类的。当时就觉得,这就是高科技啊。然而在这个学期,通过对小白路由器的操作,我也可以通过手机使得小白路由器在自动播放视频了,不仅仅是体验了一把高科技,更是对小白的信号网络有了初步的了解。这比仅仅在生活中使用它更有意义。还有实用性极强的只能插座,不仅能避免一些因忘关电源引起的不幸,也能有效避免资源的浪费。 其实整个课程中,我最喜欢的还是wifi智能机器人小车。记得每次看到机器人大赛上那些灵活行动的智能机器人时,我就羡慕得不得了,虽然内心无比向往,但一直没有机会尝试。直到在这门课上,我亲手组装并操作了机器人小车,还在这个过程中了解了机器人小车的主要部件。看着那么复杂高端的机器人小车居然是我组装出来的,真的十分满足。印象深刻的是,当我们把小车拿到实验室外做循迹实验时,别的同学路过看到了一台台灵活运动的小车后,都带着向往和好奇的眼神向我们询问:“你们上的是什么

链表基本操作实验报告

实验2 链表基本操作实验 一、实验目的 1. 定义单链表的结点类型。 2. 熟悉对单链表的一些基本操作和具体的函数定义。 3. 通过单链表的定义掌握线性表的链式存储结构的特点。 二、实验内容与要求 该程序的功能是实现单链表的定义和主要操作。如:单链表建立、输出、插入、删除、查找等操作。该程序包括单链表结构类型以及对单链表操作的具体的函数定义和主函数。程序中的单链表(带头结点)结点为结构类型,结点值为整型。 要求: 同学们可参考指导书实验2程序、教材算法及其他资料编程实现单链表相关操作。必须包括单链表创建、输出、插入、删除操作,其他操作根据个人情况增减。 三、 算法分析与设计。 头结点 ......

2.单链表插入 s->data=x; s->next=p->next; p->next=s; 3.单链表的删除: p->next=p->next->next;

四、运行结果 1.单链表初始化 2.创建单链表 3.求链表长度 4.检查链表是否为空 5.遍历链表 6.从链表中查找元素 7.从链表中查找与给定元素值相同的元素在顺序表中的位置

8.向链表中插入元素 插入元素之后的链表 9.从链表中删除元素 删除位置为6的元素(是3) 10.清空单链表 五、实验体会 经过这次单链表基本操作实验,自己的编程能力有了进一步的提高,认识到自己以前在思考一个问题上思路不够开阔,不能灵活的表达出自己的想法,虽然在打完源代码之后出现了一些错误,但是经过认真查找、修改,最终将错误一一修正,主要是在写算法分析的时候出现了障碍,经过从网上查找资料,自己也对程序做了仔细的分析,对单链表创建、插入、删除算法画了详细的N-S流程图。

实验心得体会大全-实验总结

实验心得体会 这个学期我们学习了测试技术这门课程,它是一门综合应用相关课程的知识和容来解决科研、生产、国防建设乃至人类生活所面临的测试问题的课程。测试技术是测量和实验的技术,涉及到测试方法的分类和选择,传感器的选择、标定、安装及信号获取,信号调理、变换、信号分析和特征识别、诊断等,涉及到测试系统静动态性能、测试动力学方面的考虑和自动化程度的提高,涉及到计算机技术基础和基于LabVIEW的虚拟测试技术的运用等。 课程知识的实用性很强,因此实验就显得非常重要,我们做了金属箔式应变片:单臂、半桥、全桥比较,回转机构振动测量及谱分析,悬臂梁一阶固有频率及阻尼系数测试三个实验。刚开始做实验的时候,由于自己的理论知识基础不好,在实验过程遇到了许多的难题,也使我感到理论知识的重要性。但是我并没有气垒,在实验中发现问题,自己看书,独立思考,最终解决问题,从而也就加深我对课本理论知识的理解,达到了“双赢”的效果。 实验中我学会了单臂单桥、半桥、全桥的性能的验证;用振动测试的方法,识别一小阻尼结构的(悬臂梁)一阶固有频率和阻尼系数;掌握压电加速度传感器的性能与使用方

法;了解并掌握机械振动信号测量的基本方法;掌握测试信号的频率域分析方法;还有了解虚拟仪器的使用方法等等。实验过程中培养了我在实践中研究问题,分析问题和解决问题的能力以及培养了良好的工程素质和科学道德,例如团队精神、交流能力、独立思考、测试前沿信息的捕获能力等;提高了自己动手能力,培养理论联系实际的作风,增强创新意识。 实验体会 这次的实验一共做了三个,包括:金属箔式应变片:单臂、半桥、全桥比较;回转机构振动测量及谱分析;悬臂梁一阶固有频率及阻尼系数测试。各有特点。 通过这次实验,我大开眼界,因为这次实验特别是回转机构振动测量及谱分析和悬臂梁一阶固有频率及阻尼系数测试,需要用软件编程,并且用电脑显示输出。可以说是半自动化。因此在实验过程中我受易非浅:它让我深刻体会到实验前的理论知识准备,也就是要事前了解将要做的实验的有关质料,如:实验要求,实验容,实验步骤,最重要的是要记录什么数据和怎样做数据处理,等等。虽然做实验时,指导老师会讲解一下实验步骤和怎样记录数据,但是如果自己没有一些基

链表基本操作实验报告

实验2 链表基本操作实验 一、实验目的 1. 定义单链表的结点类型。 2. 熟悉对单链表的一些基本操作和具体的函数定义。 3. 通过单链表的定义掌握线性表的链式存储结构的特点。 二、实验容与要求 该程序的功能是实现单链表的定义和主要操作。如:单链表建立、输出、插入、删除、查找等操作。该程序包括单链表结构类型以及对单链表操作的具体的函数定义和主函数。程序中的单链表(带头结点)结点为结构类型,结点值为整型。 要求: 同学们可参考指导书实验2程序、教材算法及其他资料编程实现单链表相关操作。必须包括单链表创建、输出、插入、删除操作,其他操作根据个人情况增减。 三、 算法分析与设计。 头结点

2.单链表插入 s->data=x; s->next=p->next; p->next=s; 3.单链表的删除: p->next=p->next->next;

四、运行结果 1.单链表初始化 2.创建单链表 3.求链表长度 4.检查链表是否为空 5.遍历链表 6.从链表中查找元素 7.从链表中查找与给定元素值相同的元素在顺序表中的位置

8.向链表中插入元素 插入元素之后的链表 9.从链表中删除元素 删除位置为6的元素(是3) 10.清空单链表 五、实验体会 经过这次单链表基本操作实验,自己的编程能力有了进一步的提高,认识到自己以前在思考一个问题上思路不够开阔,不能灵活的表达出自己的想法,虽然在打完源代码之后出现了一些错误,但是经过认真查找、修改,最终将错误一一修正,主要是在写算法分析的时候出现了障碍,经过从网上查找资料,自己也对程序做了仔细的分析,对单链表创建、插入、删除算法画了详细的N-S流程图。

学生实验心得体会

学生实验心得体会 篇1: 透过这次实验,我大开眼界,正因这次实验个性是回转机构振动测量及谱分析和悬臂梁一阶固有频率及阻尼系数测试,需要用软件编程,并且用电脑显示输出。能够说是半自动化。因此在实验过程中我受易非浅:它让我深刻体会到实验前的理论知识准备,也就是要事前了解将要做的实验的有关质料,如:实验要求,实验资料,实验步骤,最重要的是要记录什么数据和怎样做数据处理,等等。虽然做实验时,指导老师会讲解一下实验步骤和怎样记录数据,但是如果自己没有一些基础知识,那时是很难作得下去的,惟有胡乱按老师指使做,其实自己也不知道做什么。 在这次实验中,我学到很多东西,加强了我的动手潜质,并且培养了我的独立思考潜质。个性是在做实验报告时,正因在做数据处理时出现很多问题,如果不解决的话,将会很难的继续下去。例如:数据处理时,遇到要进行数据获取,这就要求懂得labview软件一些基本操作;还有画图时,也要用软件画图,这也要求懂得excel软件的插入图表命令。并且在做回转机构振动测量及谱分析实验,获取数据时,注意读取波形要改变采样频率,等等。当然不只学到了这些,那里我就不多说了。

还有动手这次实验,使测试技术这门课的一些理论知识与实践相结合,更加深刻了我对测试技术这门课的认识,巩固了我的理论知识。 但是这次实验虽好,但是我认为它安排的时刻不是很好,还有测试技术考试时刻,正因这些时刻安排与我们的课程设计时刻有冲突,使我不能专心于任一项,结果不能保证每一个项目质量,因此如果有什么出错请指出! 篇2: 经历了四周共八个学时的焊接学基础实验,我觉得自己学到了很多东西,虽然大二的时候自己也在金工实习的时候学过电焊,但是那时候自己对焊接原理是完全不了解,到此刻基本学习完了焊接学基础的理论教学再来做实验的我感觉简单了,正因我懂得了很多焊接学的原理。也知道了焊接不只是电焊,另外还有气焊等等。 这四周的焊接学实验我们总的来说学习了气焊和电焊,气焊中也分了对低碳钢、中碳钢和高碳钢的焊接,我们在焊接过程中能够明显的感觉到对于高中低碳钢的难易明显不一样! 有一次课程我们学习的是铸铁的焊接,对于铸铁的流动性也明显能够感受到比较差!每次体验实验之前老师总是给我们说实验需要注意的事项以及实验资料!透过老师的说和之后亲身的体验能够说我们对于每次实验的资料都有很好

单链表的定义及基本操作

单链表的定义及基本操作 一、实验目的、意义 (1)理解线性表中带头结点单链表的定义和逻辑图表示方法。 (2)熟练掌握单链表的插入,删除和查询算法的设计与实现。 (3)根据具体问题的需要,设计出合理的表示数据的链表结构,并设计相关算法。 二、实验内容及要求 说明1:本次实验中的链表结构均为带头结点的单链表。 说明2: 学生在上机实验时,需要自己设计出所涉及到的函数,同时设计多组输入数据并编写主程序分别调用这些函数,调试程序并对相应的输出作出分析;修改输入数据,预期输出并验证输出的结果,加深对有关算法的理解。 具体要求: 建立单链表,完成链表(带表头结点)的基本操作:建立链表、插入、删除、查找、输出;其它基本操作还有销毁链表、将链表置为空表、求链表的长度、获取某位置结点的内容、搜索结点。 三、实验所涉及的知识点 数据结构、C语言语法函数、结构体类型指针、单链表(建表、初始化链表、求表长、插入、删除、查询算法)等。 四、实验结果及分析 (所输入的数据及相应的运行结果,运行结果要有提示信息,运行结果采用截图方式给出。) 五、总结与体会 (调试程序的心得与体会,若实验课上未完成调试,要认真找出错误并分析原因等。) 调试程序时,出现了许多错误。如:结构体类型指针出错,忽略了释

放存储空间,对头插法建表、尾插法建表不熟悉等。另外还有一些语法上的错误。由于对所学知识点概念模糊,试验课上未能完成此次上机作业。后来经过查阅教材,浏览网页等方式,才完成试验。这次试验出现错误最重要的原因就是对课本知识点理解不深刻以及编写代码时的粗心。以后要都去练习、实践,以完善自己的不足。 六、程序清单(包含注释) //单链表 #include<> #include<> #define OK 1 #define ERROR 0 typedef char ElemType; typedef int Status; //线性表的单链表的存储结构 typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //LinkList为结构体类型的指针,可以直接定义变量,比如LinkList p; //建表(头插法) void CreatListF(LinkList &L,ElemType a[],int n) { //初始化线性表 L=(LinkList)malloc(sizeof(LNode));//分配内存空间 L->next=NULL;

相关文档
最新文档