c语言数据结构课程设计心得体会.docx
- 文档编号:26239353
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:8
- 大小:17.34KB
c语言数据结构课程设计心得体会.docx
《c语言数据结构课程设计心得体会.docx》由会员分享,可在线阅读,更多相关《c语言数据结构课程设计心得体会.docx(8页珍藏版)》请在冰豆网上搜索。
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,?
xm
当n>m时,C=y1,x1,y2,x2,?
ym,xm,?
yn
输出线性表C。
3.用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。
4.能删除指定单链表中指定位子和指定值的元素。
二、运行环境(软、硬件环境)
软件环境:
VC++编程软件,运行平台:
Win32
硬件:
普通个人pc机、算法设计的思想
三、算法的流程图
四、算法设计分析
这个两个链表的交叉合并算法主要运用到的是链表的基本操作,定义节点,将链表的创建、计算链表的长度、链表A,B的交叉组合、链表内容升序排列、删除链表指定位置元素、删除指定的元素等算法写成了独立函数,通过主函数调用。
这样就大大精简了主函数的操作。
但主函数中很大篇幅用到了if、else语句,用以指定链表指定结点和指定元素的删除操作,这样就使得本来很精简变得繁琐,降低了程序的质量。
所以其有优点和缺点,但需要不断的改进,不断优化该程序。
五、源代码
程序源代码:
#include
#include
typedefstructnode//节点定义
{
intdata;
structnode*next;
}node,*linklist;
linklistcreat//该函数用来创建链表{
node*r,*s;
inta;
r=malloc);
head=r;
scanf;
while
{
s=malloc);
s->data=a;
r->next=s;
r=s;
printf;
scanf;
}
r->next=NULL;
returnhead;
}
linklistlengthtl)//返回L中数据元素个数{
inti=0;
linklistp=l->next;//p指向第一个结点
while
{
i++;
p=p->next;
}
returni;
}
篇二:
c语言及数据结构与算法课程设计报告
福建工程学院软件学院
c语言及数据结构与算法课程设计
题目:
学生信息管理系统
专业:
物联网工程1401班
姓名:
学号:
3148120119同组其他学生:
265657
2015年6月24日
目录
一、需求分析............................................................................3二、总体设计............................................................................3三、详细设计............................................................................4四、调试与测试......................................................................16五、测试结果..........................................................................16六、用户手册..........................................................................16七、附录..................................................................................16
一、需求分析
问题描述
学生信息包括:
学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计
一学生信息管理系统,使之能提供以下功能:
?
系统以菜单方式工作?
学生信息录入功能---输入?
学生信息浏览功能---输出?
查询、排序功能---算法
按学号查询、按姓名查询、学生信息的删除与修改(可选项)
(2)功能要求
界面比较美观;有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,
要求重新输入;最好用链表的方式实现。
二、总体设计
录入信息
浏览学生信息
查询学生信息
篇三:
C语言与数据结构课程设计报告要求
C语言与数据结构课程设计报告
学号2014014083姓名汪明课程设计题目通讯录的制作
2016年1
月
目录
1需求分析功能与数据需求题目要求的功能扩展功能界面需求开发环境与运行需求2概要设计主要数据结构程序总体结构各模块函数说明3详细设计
算法分析与设计主要程序段设计4测试5使用说明
应用程序功能的详细说明应用程序运行环境要求输入数据类型、格式和内容限制6总结提高
课程设计总结
开发中遇到的问题和解决方法对自己完成课设完成情况的评价
《C语言与数据结构课程设计》课程的意见与建议附录:
程序源代码
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++
2概要设计主要数据结构
//构建链表的结构体typedefstructCLUB{
charNAME[20];//姓名charSTREET[20];//街道charCITY[20];//城市charSTATE[20];//国家charPHONE[20];//电话号码charEIP[10];//邮编structCLUB*next;
}CLUB;CLUB*headLink;
程序总体结构//主要函数
voidEnter;//录入voidSearch;//查找
voidDisplay;//输出输入的所有信息voidDelete;//删除信息voidSave;//保存
voidLoad;//从文件中的内容//界面函数
voidMenu;//显示菜单
各模块函数说明
voidCreateHeadLink;//创建voidLoad;//从文件中的内容voidMenu;//显示菜单
voidInsertOneNode;//增加新结点
CLUB*MallocNode;//申请一个新结点,并将其初始化voidEnter;//输入
voidInsertOneNode;//在链表的结尾处增加一个结点voidSearch;//查找
voidDesplayOneNode;//输出一个结点的信息voidDisplay;//输出输入的所有信息voidDelete;//删除信息
voidChangeInforByName;//修改信息voidSave;//保存
3详细设计
算法分析与设计
Enter函数:
从键盘中获得数据,通过scanf将各数据放入对应的链表中Display函数:
将链表中的数据输出
主要程序段设计4测试
5使用说明
应用程序功能的详细说明
先输入联系人的基本信息,可以显示录入的所有联系人的信息,可以将联系人的信息保存到,当第二次运行时可以直接从文件中调用应用程序运行环境要求输入数据类型、格式和内容限制6总结提高
课程设计总结
开发中遇到的问题和解决方法对自己课程设计完成情况的评价附录:
程序源代码
#include#include#include#include#include#includetypedefstructCLUB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据结构 课程设计 心得体会