数据结构课程设计之链表.pdf

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

《数据结构》课程设计报告

之线性表及应用

信息工程学院

计算机科学与技术

姓名:XX

班级:XX

学号:XX

程序设计书目录

一.课程题目

二.设计目标

三.问题描述

四.需求分析

五.概要设计

六.详细设计(给出算法的伪码描述和流程图)

七.测试分析

八.使用说明

九.测试数据

十.课程设计总结

一.课程题目:线性表及应用(班级通讯录管理系统)。

二.设计目标

通过对通讯录管理链表的课程设计,加深对程序设计的理解,

熟练掌握和加深c语言的基本知识和语法规范,同时更进一步地理

解数据结构对单链表知识的应用,也提高了我们进行程序设计的基

本能力。这次课程设计提供一个既动手又动脑,独立实践的机会,

将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问

题的能力,从而进一步提高了实际运用的能力。

三.问题描述

为某个班级建立一个学生通讯录管理系统,可以方便查询每一

个学生的宿舍电话、手机号、及电子邮箱。其功能包括通讯录链表的

建立、学生通讯信息的查询、修改、插入与删除、以及整个通讯录表

的输出。

四.需求分析

建立一个班级通讯录的管理系统,从而方便查询其每个学生的一

些通讯信息。

首先,应运用c语言中结构体的知识。把学生的各项信息储存到

结构体的链表中,定义一个新的结构体类型struct(struct是声明结

构体时所必须使用的关键字)它向编译系统声明这是一个“结构体类

型”,它包括num,name,phone等不同类型的数据项。

其次:运用数据结构中线性表的知识。线性表的存储结构分为线

性表的线性存储结构和线性表的链式存储结构,线性表的顺序存储

结构是指用一组地址连续的存储单元一次存储线性表的数据元素。线

性表的链式存储结构则是通过指针反映元素之间的关系,不要求逻辑

上相邻的元素在物理位置上也相邻,所以该方法可以克服顺序表的一

些缺点。所以本题应运用线性链表的链式存储结构。线性链表的链式

存储结构又分为单链表、循环链表和双链表,本题运用单链表的知识。

1.通讯录链表的建立。

建立单链表有两种方法,头插入法和尾插入法。头插入法是将每

次新插入的结点插入在链表的表头,而尾插入法是将新插入的结点插

入到链表的表尾。在这个通讯录的建立中将采用尾插入法建立链表。

2.链表的插入。

链表结点的插入是要求将一个通讯录数据结点按其编号的顺序插

入有序通讯录表的相应位置,以保持其有序性。使用两个指针变量分

别指向刚访问的结点和下一个结点,寻找插入结点的位置,其中一个

指向待插入位置的前一个结点。

3.链表的查询。

首先输入要查找的通讯录的学号、姓名、宿舍电话号或手机号码,

从表头顺序访问表中结点,查找成功则返回指向查找的通讯者信息的

结点,否则返回一个空的指针。

4.单链表的删除。

输入要查找的通讯录的学号或者姓名,从表头顺序访问表中结点,

查找成功则返回指向查找的通讯者信息的结点,删除结点即可。

5.学生通讯信息的修改。

首先通过链表的查询找到要修改的结点,找到后就可以对的学号、

姓名、宿舍电话号码、手机号码、电子邮箱任意一项进行改。

6.通讯录的输出。

将表头指针赋给一个指针变量,然后用其向后扫描,直至表尾,

指针为空为止。

五.概要设计

1.本程序主要运用了结构体、线性表(单链表)、及函数调用的相关

知识。

A.定义学生通讯录结点类型:

typedefstruct//通讯录结点类型

{

charnum[10];/*学号*/

charname[15];/*姓名*/

charphone[15];/*宿舍电话*/

char

文档评论(0)

130****9212 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档