1、c语言数据结构课程设计心得体会c语言数据结构课程设计心得体会 篇一:数据结构课程设计 实验报告 心得体会 链表 C语言 数 据 结 构 课 程 设 计 设计题目: 两个链表的交叉合并 专业班级:08软件工程3班 姓名:xxxxxx 学号: 080107031123 设计时间:2010/9/25 指导教师:杨薇薇 一、 设计题目 实现两个链表的合并 设计目的 1掌握线性链表的建立。 2掌握线性链表的基本操作。 设计内容和要求 1. 建立两个链表A和B,链表元素个数分别为m和n个。 2. 假设元素分别为,和。把它们合并成一个线形表C,使得: 当m=n时,C=x1,y1,x2,y2,?xn,yn,?
2、,xm 当nm时,C=y1,x1,y2,x2,?ym,xm,?,yn 输出线性表C。 3. 用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。 4. 能删除指定单链表中指定位子和指定值的元素。 二、 运行环境(软、硬件环境) 软件环境: VC+编程软件,运行平台:Win32 硬件:普通个人pc机、 算法设计的思想 三、 算法的流程图四、 算法设计分析 这个两个链表的交叉合并算法主要运用到的是链表的基本操作,定义节点,将链表的创建、计算链表的长度、链表A,B的交叉组合、链表内容升序排列、删除链表指定位置元素、删除指定的元素等算法写成了独立函数,通过主函数调用。这样就大大精简了主函数的操
3、作。但主函数中很大篇幅用到了if、else语句,用以指定链表指定结点和指定元素的删除操作,这样就使得本来很精简变得繁琐,降低了程序的质量。所以其有优点和缺点,但需要不断的改进,不断优化该程序。 五、 源代码 程序源代码: #include #include typedef struct node /节点定义 int data; struct node *next; node,*linklist; linklist creat /该函数用来创建链表 node *r,*s; int a; r = malloc); head = r; scanf; while s =malloc); s-data=
4、a; r-next=s; r=s; printf; scanf; r-next=NULL; return head; linklist lengtht l) / 返回L中数据元素个数 int i=0; linklist p=l-next; / p指向第一个结点 while i+; p=p-next; return i; 篇二:c语言及数据结构与算法课程设计报告 福建工程学院软件学院 c语言及数据结构与算法课程设计 题 目 :学生信息管理系统 专 业: 物联网工程1401班 姓 名: 学 号:3148120119 同组其他学生: 26 56 57 2015年 6月 24 日 目 录 一、需求分析
5、 . 3 二、总体设计 . 3 三、详细设计 . 4 四、调试与测试 . 16 五、测试结果 . 16 六、用户手册 . 16 七、附录 . 16 一、需求分析 问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计 一学生信息管理系统,使之能提供以下功能: ? 系统以菜单方式工作 ? 学生信息录入功能-输入 ? 学生信息浏览功能-输出 ? 查询、排序功能-算法 按学号查询、按姓名查询、学生信息的删除与修改(可选项) (2)功能要求 界面比较美观;有一定的容错能力,比如输入的成绩不在0100之间,就提示不合法, 要求重新输入;最好用链表的方式实现。 二、总
6、体设计 录入信息 浏览学生信息 查询学生信息 篇三:C语言与数据结构课程设计报告要求 C语言与数据结构课程设计报告 学 号 2014014083 姓 名 汪明 课程设计题目 通讯录的制作 2016 年1 月 目 录 1 需求分析 功能与数据需求 题目要求的功能 扩展功能 界面需求 开发环境与运行需求 2 概要设计主要数据结构 程序总体结构 各模块函数说明 3 详细设计 算法分析与设计 主要程序段设计 4 测试 5 使用说明 应用程序功能的详细说明 应用程序运行环境要求 输入数据类型、格式和内容限制 6 总结提高 课程设计总结 开发中遇到的问题和解决方法 对自己完成课设完成情况的评价 C语言与数
7、据结构课程设计课程的意见与建议 附录:程序源代码1 需求分析 功能与数据需求 1) 输入信息-enter; 2) 显示信息-display; 3) 查找以姓名作为关键字 -search; 4) 删除信息-delete; 5) 存盘-save ; 6) 装入-load ; 界面需求 1) 每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY) 邮编(EIP)国家(STATE)几项;电话号码(TEL) ; 2) 作为一个完整的系统,应具有友好的界面和较强的容错能力; 3) 需要链表实现; 4)上机能正常运行。 开发环境 开发环境: 测试系统:Windows7,开发工具:Dev-C
8、+ 2 概要设计主要数据结构 /构建链表的结构体 typedef struct CLUB char NAME20;/姓名char STREET20;/街道char CITY20;/城市char STATE20;/国家 char PHONE20;/电话号码char EIP10;/邮编struct CLUB *next;CLUB; CLUB *headLink; 程序总体结构 /主要函数 void Enter;/录入 void Search;/查找 void Display;/输出输入的所有信息 void Delete;/删除信息 void Save ;/保存 void Load; /从文件中的内
9、容 /界面函数 void Menu;/显示菜单 各模块函数说明 void CreateHeadLink ;/创建 void Load; /从文件中的内容 void Menu;/显示菜单 void InsertOneNode;/增加新结点 CLUB *MallocNode;/申请一个新结点,并将其初始化 void Enter;/输入 void InsertOneNode;/在链表的结尾处增加一个结点 void Search;/查找 void DesplayOneNode;/输出一个结点的信息 void Display;/输出输入的所有信息 void Delete;/删除信息 void Chang
10、eInforByName;/修改信息 void Save ;/保存 3 详细设计 算法分析与设计 Enter函数:从键盘中获得数据,通过scanf将各数据放入对应的链表中 Display函数:将链表中的数据输出主要程序段设计 4 测试 5 使用说明 应用程序功能的详细说明 先输入联系人的基本信息,可以显示录入的所有联系人的信息,可以将联系人的信息保存到,当第二次运行时可以直接从文件中调用 应用程序运行环境要求 输入数据类型、格式和内容限制 6 总结提高 课程设计总结 开发中遇到的问题和解决方法 对自己课程设计完成情况的评价 附录:程序源代码 #include #include #include #include #include #include typedef struct CLUB