文档库

最新最全的文档下载
当前位置:文档库 > 通讯录管理系统说明书(课程设计格式参考)

通讯录管理系统说明书(课程设计格式参考)

数据结构课程设计

一引言

随着现代科技的发展,计算机技术已经越来越受到人们的青睐,计算机已经不是什么高科技产品,伴随的人们生活水平的提高,计算机已经走入了寻常百姓家。计算机的发展得益于C语言等计算机语言的发展,运用计算机语言,我们可以实现各种各样的功能。就我们现在所学的知识而言,我们也可以运用C语言实现一些简单的管理系统,如:学生成绩管理系统、图书管理系统、通讯录等。

此次课设,我所设计的是运用C语言做一个通讯录,主要实现添加、查找、删除、排序、修改、显示、增加等功能。主要实现方式用的是链表[1]和文件[2],下面对链表进行一下简单的介绍。

链表是一种动态的进行存储分配的数据结构,他既不需要事先确定最大长度,在插入或者删除一个元素时也不会引起数据的大量移动。链表又一个“头”,一个“尾”。中间有若干元素,每个元素称为一个结点。每个结点包括两部分:一部分是用户关心的实际数据,称为数据域;另一部分是下一个结点的地址,称为指针域。一般用head作为头指针,它指向链表的第一个结点;最后一个结点称为“表尾”,该结点的指针域值为0,指向内存中编号为0的地址(常用符号常量NULL表示,称为空地址),表尾不再有后继结点,链表到此结束。

相比较顺序结构,链表比较方便插入和删除操作。

线性表的链式存储表示的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素与其直接后继数据元素之间的逻辑关系,对数据元素来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。由这两部分信息组成一个"结点",表示线性表中一个数据元素。

根据情况,也可以自己设计链表的其它扩展。但是一般不会在边上附加数据,因为链表的点和边基本上是一一对应的(除了第一个或者最后一个结点,但是也不会产生特殊情况)。不过有一个特例是如果链表支持在链表的一段中把前和后指针反向,反向标记加在边上可能会更方便。

其中存储数据元素信息的域称作数据域(设域名为data),存储直接后继存储位置的域称为指针域(设域名为next)。指针域中存储的信息又称作指针或链。

在实现通讯录的功能上使用的是线性表和文件相结合的方式,使得程序易懂,条理比较清晰,模块化显著。

该通讯录管理程序主要实现以下几个功能:

(1).增加联系人。

(2).查找联系人。

- 1 -