单链表的基本操作 C语言课程设计

合集下载

单链表课程设计

单链表课程设计

单链表课程设计一、课程目标知识目标:1. 学生能理解单链表的基本概念,掌握其结构特点及在数据结构中的重要性。

2. 学生能够运用所学知识,实现单链表的创建、插入、删除和查找等基本操作。

3. 学生能够掌握单链表与数组、栈、队列等其他数据结构的关系与区别。

技能目标:1. 学生能够运用编程语言(如C、C++等)实现单链表的相关操作,提高编程能力。

2. 学生能够通过实际操作,培养解决实际问题的能力,提高逻辑思维能力。

情感态度价值观目标:1. 学生通过学习单链表,培养对数据结构的兴趣,提高学习积极性。

2. 学生在学习过程中,学会与他人合作,培养团队精神和沟通能力。

3. 学生能够认识到数据结构在计算机科学中的重要性,增强对专业知识的认同感。

课程性质分析:本课程为计算机科学与技术专业的基础课程,旨在让学生掌握单链表这一基础数据结构,为后续学习更复杂的数据结构打下基础。

学生特点分析:学生已具备基本的编程能力,具有一定的逻辑思维能力,但可能对数据结构的应用场景认识不足,需要通过实际案例激发兴趣。

教学要求:1. 结合实际案例,讲解单链表的理论知识,让学生了解其在实际问题中的应用。

2. 通过课堂讲解、上机实践等教学手段,让学生掌握单链表的相关操作。

3. 注重培养学生的编程能力和逻辑思维能力,提高解决实际问题的能力。

二、教学内容1. 单链表基本概念:介绍单链表的定义、结构特点及其在数据结构中的应用场景。

- 教材章节:第二章第二节- 内容安排:讲解单链表的组成元素(节点、指针)、分类(单向、双向)及优缺点。

2. 单链表基本操作:- 教材章节:第二章第三节- 内容安排:讲解单链表的创建、插入、删除、查找等基本操作,并通过实例演示。

3. 单链表与其它数据结构的对比:- 教材章节:第二章第四节- 内容安排:分析单链表与数组、栈、队列等其他数据结构的区别和联系,突出单链表的特点。

4. 单链表编程实践:- 教材章节:第二章第五节- 内容安排:结合上机实践,让学生动手实现单链表的基本操作,培养编程能力和解决实际问题的能力。

单链表的操作课程设计

单链表的操作课程设计

单链表的操作 课程设计一、课程目标知识目标:1. 理解单链表的概念,掌握单链表的结构特点及其在数据结构中的重要性。

2. 学会创建单链表,理解单链表节点的定义及链表的初始化过程。

3. 掌握单链表的基本操作,包括插入、删除、查找和遍历等。

技能目标:1. 能够运用所学知识,独立编写程序实现单链表的创建和基本操作。

2. 能够通过单链表解决实际问题,如数据管理、排序等。

3. 能够对单链表程序进行调试和优化,提高程序的执行效率。

情感态度价值观目标:1. 培养学生的逻辑思维能力,提高学生分析问题和解决问题的能力。

2. 激发学生对数据结构的兴趣,引导学生主动探索和学习更多相关知识。

3. 培养学生的团队协作意识,通过课堂讨论和小组活动,让学生学会互相帮助和共同进步。

本课程针对高年级学生,在已有编程基础和基本数据结构知识的前提下,进一步深化对单链表的认识和应用。

课程注重理论与实践相结合,强调学生的动手实践能力和问题解决能力的培养。

通过本课程的学习,期望学生能够掌握单链表的相关知识,为后续学习更复杂的数据结构打下坚实基础。

二、教学内容1. 单链表的基本概念:包括单链表的定义、结构特点及其在数据结构中的应用场景。

- 教材章节:第二章第二节“线性表的链式存储结构”2. 单链表的创建与初始化:讲解单链表节点的定义,演示如何创建和初始化一个单链表。

- 教材章节:第二章第三节“单链表的创建与初始化”3. 单链表的基本操作:- 插入:介绍在单链表中插入节点的具体方法,包括头部插入、尾部插入和指定位置插入。

- 删除:讲解删除单链表中节点的操作,包括头部删除、尾部删除和指定位置删除。

- 查找:介绍在单链表中查找特定节点的算法。

- 遍历:演示如何遍历单链表,访问链表中的所有节点。

- 教材章节:第二章第四节“单链表的基本操作”4. 单链表的应用案例:结合实际问题,展示如何运用单链表解决数据管理和排序等问题。

- 教材章节:第二章第五节“单链表的应用实例”5. 单链表的调试与优化:介绍如何对单链表程序进行调试和优化,提高程序执行效率。

链表c语言课程设计

链表c语言课程设计

链表c语言课程设计一、教学目标本章节的教学目标是使学生掌握链表的基本概念、原理和操作方法,能够运用链表解决实际问题。

具体目标如下:1.知识目标:•了解链表的定义、特点和基本操作;•掌握单链表、双向链表和循环链表的概念及其应用;•理解链表的优缺点和适用场景。

2.技能目标:•能够使用C语言实现链表的基本操作,如创建、插入、删除和遍历;•能够根据实际需求设计和实现链表的扩展功能,如排序、查找等;•能够运用链表解决实际问题,如数据存储和传输等。

3.情感态度价值观目标:•培养学生对计算机科学的兴趣和热情,提高他们对编程和数据结构的学习积极性;•培养学生团队合作意识和沟通能力,鼓励他们积极参与讨论和合作解决问题;•培养学生勇于尝试和探索的精神,鼓励他们在遇到困难和挫折时坚持不懈。

二、教学内容本章节的教学内容主要包括链表的基本概念、原理和操作方法。

具体内容包括以下几个方面:1.链表的定义和特点:介绍链表的定义、特点和基本术语,如节点、链表、单链表、双向链表等。

2.链表的基本操作:讲解链表的基本操作,如创建、插入、删除和遍历,并给出相应的C语言实现代码示例。

3.单链表的应用:介绍单链表在实际问题中的应用,如链表排序、链表查找等,并给出相应的代码示例。

4.双向链表和循环链表:讲解双向链表和循环链表的概念及其应用,并给出相应的代码示例。

5.链表的优缺点和适用场景:分析链表的优缺点和适用场景,让学生了解链表在实际编程中的应用和限制。

三、教学方法为了激发学生的学习兴趣和主动性,本章节将采用多种教学方法相结合的方式进行教学。

具体方法如下:1.讲授法:通过讲解和演示链表的基本概念、原理和操作方法,使学生掌握链表的基础知识。

2.案例分析法:通过分析实际问题中的应用案例,使学生了解链表在实际编程中的作用和应用。

3.实验法:让学生通过动手实践,自己编写代码实现链表的基本操作,提高他们的编程能力和实际问题解决能力。

4.讨论法:学生进行小组讨论,鼓励他们积极参与交流和合作解决问题,培养他们的团队合作意识和沟通能力。

c语言单链表的基本操作

c语言单链表的基本操作

c语言单链表的基本操作C语言的单链表是一种常见的数据结构,常常用于存放数据的操作。

在实际开发中,掌握C语言单链表的基本操作是非常重要的。

下面,我们将分步骤阐述C语言单链表的基本操作。

第一步:定义单链表节点的结构体单链表的每个节点都有三个部分组成:数据域、指针域和链头。

其结构体如下所示:```struct Listnode{int data; //数据域struct Listnode* next; //指针域};```第二步:创建单链表创建单链表的方法有很多,这里我们介绍一个使用头插法的创建方法。

该方法需要定义一个头节点,然后将新的节点插到头节点后面。

代码如下所示:```struct Listnode * create(){struct Listnode * head = NULL; //定义头节点为空int x; //定义数据变量xprintf("请输入数据:");while (scanf("%d", &x) != EOF) //判断当前输入是否结束{struct Listnode * p = (structListnode*)malloc(sizeof(struct Listnode)); //利用malloc函数为新节点分配内存p->data = x; //将x的值存储进新开辟的节点p->next = head; //将head指向的节点作为p节点的下一个节点head = p; //然后将p作为新的head}return head; //返回头节点}```第三步:遍历单链表遍历单链表需要用到while循环,直到链表中没有节点可以遍历。

遍历的过程中,可以利用指针打印节点的数据值。

代码如下所示:```void traverse(struct Listnode *head){if (head == NULL) //判断链表是否为空printf("链表为空!");struct Listnode * p = head; //定义一个指向head节点的指针 while (p != NULL) //当指针p不为空时{printf("%d ", p->data); //打印节点中的数据p = p->next; //指针p指向下一个节点}}```第四步:插入节点在插入节点前,需要先找到插入位置的前一个节点。

链表课程设计c语言

链表课程设计c语言

链表课程设计c语言一、教学目标本章节的课程目标是使学生掌握链表的基本概念、操作和应用,包括链表的定义、节点的结构、创建、插入、删除、遍历和排序等基本操作。

1.了解链表的定义和特点。

2.掌握链表的基本操作及其时间复杂度。

3.理解链表在数据结构中的应用。

4.能够使用C语言实现链表的创建、插入、删除、遍历和排序等基本操作。

5.能够分析链表操作的时间复杂度。

6.能够运用链表解决实际问题。

情感态度价值观目标:1.培养学生的逻辑思维能力和问题解决能力。

2.培养学生对数据结构知识的兴趣和好奇心。

3.培养学生的团队合作意识和自主学习能力。

二、教学内容本章节的教学内容主要包括链表的基本概念、操作和应用。

1.链表的定义和特点。

2.链表的基本操作:创建、插入、删除、遍历和排序。

3.链表的应用场景和实际问题解决。

4.第一课时:链表的定义和特点。

5.第二课时:链表的基本操作(创建、插入、删除)。

6.第三课时:链表的基本操作(遍历和排序)。

7.第四课时:链表的应用场景和实际问题解决。

三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式。

1.讲授法:用于讲解链表的基本概念、操作和应用。

2.案例分析法:通过分析实际问题,引导学生运用链表解决这些问题。

3.实验法:让学生亲自动手实现链表的操作,加深对链表的理解。

四、教学资源本章节的教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:用于引导学生系统地学习链表知识。

2.参考书:提供更多的链表相关知识,拓展学生的视野。

3.多媒体资料:包括PPT、视频等,用于辅助讲解和演示。

4.实验设备:用于让学生亲自动手实现链表的操作,提高实践能力。

五、教学评估本章节的教学评估主要包括平时表现、作业和考试三个部分,以全面客观地评估学生的学习成果。

1.平时表现:通过观察学生在课堂上的参与程度、提问和回答问题的表现,了解学生的学习态度和理解程度。

2.作业:布置与链表相关的编程练习和理论作业,评估学生对链表知识掌握的程度。

c语言链表实现课程设计

c语言链表实现课程设计

c语言链表实现课程设计一、课程目标知识目标:1. 理解链表的概念、结构与作用;2. 掌握C语言中链表的实现方法,包括节点的定义、链表的创建、插入、删除和遍历等操作;3. 学会使用循环和递归方式实现链表相关算法。

技能目标:1. 能够独立编写链表的创建、插入、删除和遍历等基本操作的代码;2. 能够分析并解决链表操作过程中遇到的问题;3. 能够运用所学知识,设计并实现简单的链表应用案例。

情感态度价值观目标:1. 培养学生对数据结构与算法的兴趣,激发学习积极性;2. 培养学生的逻辑思维能力和问题解决能力;3. 培养学生团队合作精神,学会在团队中分享、交流与协作。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为C语言链表实现,属于程序设计类课程,以实践操作为主,理论讲解为辅;2. 学生特点:学生已具备C语言基础,有一定的编程能力,但对数据结构了解较少;3. 教学要求:注重理论与实践相结合,通过案例教学,引导学生掌握链表相关知识,培养实际编程能力。

将目标分解为具体的学习成果:1. 学生能够理解并描述链表的基本概念和结构;2. 学生能够独立完成链表相关操作的代码编写;3. 学生能够通过链表应用案例,巩固所学知识,提高编程技能;4. 学生能够在团队中积极参与讨论,分享观点,共同解决问题。

二、教学内容1. 链表基本概念与结构- 链表的引入与定义- 链表与数组的比较- 链表节点的结构2. 链表的创建与初始化- 动态内存分配- 节点的创建- 链表的初始化3. 链表的基本操作- 插入节点(头插法、尾插法)- 删除节点- 遍历链表- 查找节点4. 链表的进阶操作- 反转链表- 合并链表- 排序链表5. 链表应用案例- 设计一个简单的链表应用,如学生管理系统- 分析并优化链表操作的算法性能教学大纲安排:第一课时:链表基本概念与结构,动态内存分配,节点的创建与初始化第二课时:链表的基本操作(插入、删除、遍历、查找)第三课时:链表的进阶操作(反转、合并、排序)第四课时:链表应用案例分析与编程实践教学内容与课本关联性:本教学内容与教材中关于链表的相关章节紧密关联,涵盖了链表的基本概念、操作和应用,确保学生能够系统地学习和掌握链表知识。

c语言链表课程设计

c语言链表课程设计

c语言链表课程设计一、教学目标本节课的教学目标是让学生掌握C语言中链表的基本概念、实现方式和应用技巧。

具体包括:1.知识目标:–了解链表的定义、结构及其在数据存储中的应用。

–掌握链表的基本操作,如创建、插入、删除和遍历。

–理解单向链表、双向链表和循环链表的特点及区别。

2.技能目标:–能够使用C语言实现链表的基本操作。

–能够根据实际需求选择合适的链表结构。

–能够对链表进行调试和优化,提高程序的性能。

3.情感态度价值观目标:–培养学生对计算机编程的兴趣,增强其自信心。

–培养学生团队合作精神,提高其问题解决能力。

二、教学内容本节课的教学内容主要包括以下几个部分:1.链表概述:介绍链表的定义、结构及其在数据存储中的应用。

2.链表的基本操作:讲解创建、插入、删除和遍历链表的方法。

3.单向链表、双向链表和循环链表:介绍三种链表的特点及区别。

4.链表的应用:通过实例分析,让学生了解链表在实际编程中的应用。

三、教学方法为了提高教学效果,本节课将采用以下教学方法:1.讲授法:讲解链表的基本概念、原理和操作方法。

2.案例分析法:分析实际编程中链表的应用,让学生更好地理解链表的作用。

3.实验法:让学生动手实践,完成链表的基本操作,提高其实际编程能力。

四、教学资源为了支持教学内容和教学方法的实施,本节课将采用以下教学资源:1.教材:《C语言程序设计》等相关教材。

2.参考书:《C语言链表教程》等。

3.多媒体资料:制作精美的PPT,用于讲解和展示链表的相关概念和实例。

4.实验设备:计算机、编程环境等,用于学生动手实践。

五、教学评估本节课的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,占总分的30%。

2.作业:评估学生完成的链表相关练习题的质量,占总分的30%。

3.考试:进行一次链表知识点的考试,占总分的40%。

评估方式要求客观、公正,能够全面反映学生的学习成果。

通过评估,及时发现学生掌握不足的地方,为后续教学提供参考。

c语言链表管理课程设计

c语言链表管理课程设计

c语言链表管理课程设计一、课程目标知识目标:1. 学生能理解链表的概念和原理,掌握链表在C语言中的实现方法。

2. 学生能熟练运用指针操作链表,包括创建、插入、删除、查找等基本操作。

3. 学生能了解链表与其他数据结构(如数组、栈、队列等)的优缺点和适用场景。

技能目标:1. 学生能独立编写链表的创建、插入、删除、查找等基本操作的函数。

2. 学生能通过链表解决实际问题,如实现学生管理系统等。

3. 学生能运用所学知识对链表程序进行调试和优化,提高代码质量。

情感态度价值观目标:1. 学生通过学习链表,培养解决问题的能力,增强对编程的兴趣和自信心。

2. 学生在讨论、合作中,培养团队精神和沟通能力,学会倾听他人意见。

3. 学生认识到编程在实际生活中的应用,激发对计算机科学的热爱和求知欲。

课程性质:本课程为高年级C语言进阶课程,以培养学生的编程能力和实际应用为主。

学生特点:学生已经具备C语言基础,有一定的编程能力和逻辑思维能力。

教学要求:教师应注重理论与实践相结合,引导学生通过动手实践掌握链表的操作,提高学生的编程技能。

同时,关注学生的情感态度,鼓励学生积极参与,培养团队协作精神。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 链表基本概念:链表的组成、类型(单向链表、双向链表、循环链表)及其特点。

2. 链表的实现:定义节点结构体,创建链表,掌握初始化、动态内存分配等操作。

3. 链表基本操作:- 插入节点:头插法、尾插法、指定位置插法;- 删除节点:按值删除、按位置删除;- 查找节点:按值查找、按位置查找;- 遍历链表:遍历输出链表中的所有元素。

4. 链表应用实例:分析并实现一个简单的学生管理系统,包括学生信息的增删改查等功能。

5. 链表与数组对比:分析两者在存储、插入、删除等操作上的优缺点。

教学内容安排和进度:第一课时:链表基本概念及其类型;第二课时:链表的实现及初始化;第三课时:链表插入、删除、查找操作;第四课时:链表应用实例分析与实现;第五课时:链表与数组对比,总结优缺点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(论文)题目名称单链表的基本操作课程名称C语言程序课程设计学生姓名学号系、专业信息工程系、网络工程专业指导教师成娅辉2013年6月6 日目录1 前言 (3)2 需求分析 (3)2.1 课程设计目的 (3)2.2 课程设计任务 (3)2.3 设计环境 (3)2.4 开发语言 (3)3 分析和设计 (3)3.1 模块设计 (3)3.2 系统流程图 (4)3.3 主要模块的流程图 (6)4 具体代码实现 (9)5 课程设计总结 (12)5.1 程序运行结果 (12)5.2 课程设计体会 (12)参考文献 (13)致谢 (13)1 前言我们这学期学习了开关语句,循环语句、链表、函数体、指针等的应用,我们在完成课程设计任务时就主要用到这些知识点,本课题是单链表的简单操作,定义四个子函数分别用来创建链表、输出链表、插入数据以及删除数据,主函数中主要用到开关语句来进行选择调用哪个子函数,下面就是课程设计的主要内容。

2 需求分析2.1 课程设计目的学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。

通过课程设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。

2.2 课程设计任务输入一组正整数,以-1标志结束,用函数实现:(1)将这些正整数作为链表结点的data域建立一个非递减有序的单链表,并输出该单链表;(2)往该链表中插入一个正整数,使其仍保持非递减有序,输出插入操作后的单链表;(3)删除链表中第i个结点,输出删除操作后的单链表,i从键盘输入。

2.3 设计环境(1)WINDOWS 7系统(2)Visual C++2.4 开发语言C语言3 分析和设计3.1 模块设计定义链表结点类型struct node表示结点中的信息,信息包括数据域data(用于存放结点中的有用数据)以及指针域next(用于存放下一个结点的地址),并将链表结点类型名改为NODE。

如下所示:typedef struct node{int data;struct node *next;}NODE;定义函数NODE *create_llist_sorted(),用来创建非递减有序带头结点的单链表,定义四个指针NODE*h,*p,*q,*s,头指针指向第一个结点,并且分配空间给头指针h,使头指针不为空,*p指向单链表中某一结点,*q指向*p的前驱,*s指向输入的数据,将数据逐个输入,将输入的数据通过循环语句不断进行比较,其中先使*q指向*h所指位置,*p指向*h的下一个位置,不断将输入的每一个数据与链表中的数据相比较,找到插入位置,然后移动*p,*q,直到*p为空指针且*s所指数据小于等于*p所指数据,从而使数据有序,最后返回头指针。

详细程序见后文中的具体代码实现。

定义函数void output(),用来输出头指针h所指的单链表,因为此链表有头结点,所以定义一个指针NODE *p,*p指向h的下一个位置,不断地将*p所指数据输出并且移动*p,直到*p为空指针。

详细程序见后文中的具体代码实现。

定义函数void insert(NODE *h, int x),使元素x插入到单链表h中之后链表中数据仍有序,定义三个指针NODE *p,*q,*m,*q指向头指针所指位置,*p指向*q的下一个位置,*m指向要插入的数据x,将数据插入链表中去后将数据不断进行比较,直至*p为空指针且*m所指数据小于等于*p所指数据,移动*p,*q,使数据仍然有序。

详细程序见后文中的具体代码实现。

定义函数NODE *del(NODE *h, int i),用于删除单链表h中第i个结点,定义两个指针*p,*q,用指针p来从第一个结点开始查找需要删除的结点,指针q是指针p的前驱,查找过程中,不断移动指针p,q,直至找到需要删除的结点,如果*p为空指针,则表示链表中没有需要删除的结点,最后返回头指针。

详细程序见后文中的具体代码实现。

主函数主要是采用开关分支语句对几个子函数进行调用。

3.2系统模块流程图图3.1系统模块流程图3.3主要模块的流程图(1)输出函数流程图(如图3.2)图3.2. 输出函数流程图(2)插入函数流程图(如图3.3)图3.3插入函数流程图(3)删除函数流程图(如图3.4)图3.4删除函数流程图(4)创建单链表函数流程图(如图3.5)图3.5创建单链表函数流程图4 具体代码实现/*单链表的基本操作*/#include"stdio.h"#include"math.h"#include"string.h"#include"stdlib.h"typedef struct node{int data;struct node *next;}NODE;/*链表结点类型定义*//********函数声明********/NODE *create_llist_sorted();/*建立一个非递减有序的带头结点的单链表,返回其头指针*/void output(NODE *h);/*输出头指针h所指单链表*/void insert(NODE *h, int x);/*将元素x插入到单链表h中仍有序*/ NODE *del(NODE *h, int i);/*删除单链表h中第i个结点*//********主函数********/void main(){NODE *head;int x,i,n;printf("********单链表的基本操作********\n"); /*输出菜单*/ printf(" 1. 建立\n");printf(" 2. 输出\n");printf(" 3. 插入\n");printf(" 4. 删除\n");printf(" 0. 退出\n");while(1){printf("请选择:");scanf("%d",&n);switch(n){case 1:head=create_llist_sorted();break;case 2:output(head);break;case 3:printf("please input inserted data:");scanf("%d",&x);insert(head,x);output(head);break;case 4:printf("please input deleted location:");scanf("%d",&i);del(head,i);output(head);break;case 0:exit(0);default:printf("输入错误,请重新选择!\n");}}}/********子函数********/NODE *create_llist_sorted()/*建立一个非递减有序的带头结点的单链表,返回其头指针*/{int x;NODE *h,*p,*q,*s; /*p指向单链表中某一结点,q指向*p的前驱*/h=(NODE *)malloc(sizeof(NODE));h->next=NULL;scanf("%d",&x);while(x!=-1){s=(NODE *)malloc(sizeof(NODE));s->data=x; s->next=NULL;for(q=h,p=h->next;p!=NULL&&s->data>p->data;p=p->next,q=q->next);/*不断比较,找到插入位置。

注意:循环条件p!=NULL必须先判断,即放在&&左边*/ q->next=s;s->next=p;scanf("%d",&x);}return h;}void output(NODE *h)/*输出头指针h所指单链表*/{NODE *p;p=h->next;while(p!=NULL){printf("%d ",p->data); p=p->next;}printf("\n");}NODE *del(NODE *h, int i)/*删除单链表h中第i个结点*/{NODE*p,*q;p=h;while(p!=NULL&&p->data!=i){q=p;p=p->next;}if(p==h){h=h->next;free(p);}else if(p==NULL)printf("not been find\n");else{q->next=p->next;free(p);}return(h);}void insert(NODE *h, int x)/*将元素x插入到单链表h中仍有序*/ {NODE *p,*q,*m;m=(NODE *)malloc(sizeof(NODE));m->data=x; q=h;p=q->next;while(p!=NULL&&m->data>p->data){q=q->next; p=p->next;}m->next=p; q->next=m;}5 课程设计总结5.1 程序运行结果输入源程序后,先进行调试,经调试无错误后开始运行,屏幕上会显示菜单,会出现提示语“请选择”,选择1即建立了一个链表,然后键入一组正整数,以-1标志结束,按回车键;继续选择2即执行输出函数,按回车键后屏幕上会输出之前键入的数据,按回车键;继续选择3即执行插入函数,按回车键后键入一个需要插入的数据,按回车键屏幕上输出插入数据后的一组新数据,按回车键;继续选择4即执行删除函数,按回车键后键入一个需要删除的数的所在的节点,继续按回车键屏幕上会输出删除节点后的一组新数据,按回车键;继续选择0即退出程序,运行结果如下图所示图5.1运行结果示意图5.2 课程设计体会总体来说,这个课程设计的优势在于条理较为清晰,内容比较充实,源程序也是比较清晰明了的,方便使用,不足之处在于流程图不够规范整洁,其他地方都还有待提高。

我觉得课程设计中最核心的部分是编程,在编程的过程中,最关键的是要有扎实的知识功底,最重要的是需要细心和耐心。

相关文档
最新文档