课程设计一:线性表。
1、线性链表的基本操作。
线性表是一种常用且简单的一种数据结构,在掌握了线性表的顺序和链式存储结构后,我们从实际应用角度出发重新定义线性链表。
带头结点的线性链表类型如图:
link或positionlnodelnode
图1 结点类型。
图2 链表类型。
图3 具有两个结点且带头结点的线性链表。
* (程序名) *
#include<>
#include<>
#include<> int_max等 */
#include<> eof(=^z或f6),null */
#include<> atoi()
#include<> eof()
#include<> floor(),ceil(),abs()
#include<> exit()
/* 函数结果状态** */
#define true 1
#define false 0
#define ok 1
#define error 0
#define infeasible -1
typedef int status; /status是函数的类型,其值是函数结果状态**,如ok等 */
typedef int boolean; /boolean是布尔类型,其值是true或false */
*带头结点的线性链表类型*/
typedef struct lnode /*结点类型 */
lnode,*link,*position;
typedef struct linklist /*链表类型 */
linklist;
*带头结点的线性链表的24个基本操作*/
status makenode(link p,elemtype e)
void freenode(link p)
status initlist(linklist l)
elsereturn error;
status clearlist(linklist l)
free(q);
return ok;
status destroylist(linklist l)
status insfirst(linklist l,link h,link s) /形参增加l,因为需修改l */
status delfirst(linklist l,link h,link q) /形参增加l,因为需修改l */
elsereturn false; /链表空 */
status append(linklist l,link s)
return ok; }
position priorpos(linklist l,link p)
status remove(linklist l,link q)
while(p->next!=
p=p->next;
q=p->next=null;
return ok;
status insbefore(linklist l,link p,link s)
status insafter(linklist l,link p,link s)
status setcurelem(link p,elemtype e)
elemtype getcurelem(link p)
status listempty(linklist l)
int listlength(linklist l)
position gethead(linklist l)
{ /返回线性链表l中头结点的位置 */
return
数据结构课程设计指导书
数据结构。课。程。设。计。指。导。书。目录。一 课程设计的基本任务3 二 课程设计的基本要求3 三 课程设计的基本步骤和方法4 四 课程设计说明书 含报告的书写规范5 五 附录 课程设计大纲等内容13 一 课程设计的基本任务。数据结构是一门涉及多门课程的课程,难度较大,需要较好的c语言的程序设计和调...
数据结构课程设计指导书
数据结构。课。程。设。计。指。导。书。一 课程设计的基本任务3 二 课程设计的基本要求3 三 课程设计的基本步骤和方法4 四 课程设计说明书 含报告的书写规范5 五 附录 课程设计大纲等内容13 一 课程设计的基本任务。数据结构是一门涉及多门课程的课程,难度较大,需要较好的c语言的程序设计和调试能力...
数据结构课程设计指导书
指导书。信息工程学院计算机科学与技术专业。2013年12月。数据结构课程设计 指导书。一 课程设计题目与要求。根据课程设计题目规模,要求每个题目3人一组。分组规则如下 按照学号顺序每3人编为一组 或者自由组合 一经确定不得随意调换,题目由各组选派代表抽签确定,设计题目不得更换。选题一 教学计划编制问...