1、 课课 程程 设设 计计 成成 果果 报报 告告 题 目: 1.单链表的基本操作单链表的基本操作 2. 迷宫问题迷宫问题 课 程: 数据结构数据结构 A 课程设计课程设计 院 (部) : 管理工程学院管理工程学院 专 业: 信息管理与信息系统信息管理与信息系统 班 级: 学生姓名: 学 号: 指导教师: 完成日期: 2014 年 1 月 6 日 1 目录目录 一、课程设计概述一、课程设计概述 1 二、课程设计题目一二、课程设计题目一 1 问题描述问题描述 1 调试分析调试分析 5 运行结果及分析运行结果及分析 5 三、课程设计题目二三、课程设计题目二 8 问题描述问题描述 8 需求分析需求分析
2、 8 概要设计概要设计 8 详细设计详细设计 8 调试分析调试分析 13 运行结果及分析运行结果及分析 14 四、参考文献四、参考文献. 15 1 课程设计报告课程设计报告 一、课程设计概述一、课程设计概述 本次数据结构课程设计共完成两个题:1、单链表的基本操作;2、迷宫问题。 使用语言:C 编译环境:vc6.0 二、课程设计题目一二、课程设计题目一 问题描述问题描述 程序清单: #include #include typedef struct lnode char value; struct lnode *link; llistnode; /创建单链表 llistnode *creat()
3、llistnode *head,*p; char ch; head=(llistnode *)malloc(sizeof(llistnode); head-link=NULL; printf(“input:“); while(ch=getchar()!=n) p=(llistnode *)malloc(sizeof(llistnode); p-value=ch; p-link=head-link; head-link=p; return head; /输出单链表 void print(llistnode *head) llistnode *p; printf(“n“); 2 p=head-li
4、nk; while(p) printf(“%c“,p-value); p=p-link; /查找待查结点地址 llistnode *visitll(llistnode *h,char x) llistnode *p; p=h-link; while(p!=NULL) return(p); /查找待查某结点的前驱地址 llistnode *predall(llistnode *h,llistnode *q) llistnode *p; if(q=h-link) p=NULL; else p=h; while(p!=NULL) return (p); /插入某结点 void insertll(ll
5、istnode *h,llistnode *q,char x) llistnode *p,*r; r=(llistnode *)malloc(sizeof(llistnode); r-value=x; if(h-link=q) h-link=r; else p=predall(h,q); 3 p-link=r; r-link=q; /删除某结点 void deletell(llistnode *h,llistnode *q) llistnode *p; if(h-link=q) h-link=q-link; else p=predall(h,q); p-link=q-link; free(q)
6、; main() llistnode *a;/声明一个单链表指针 llistnode *result=NULL; int choice; char data,data_cz; a=creat();/创建单链表 while(1) printf(“n 以下是单链表的应用,请选择:“); printf(“n1、遍历链表并依次输出其的结点值“); printf(“n2、在链表中查找是否存在某结点“); printf(“n3、在链表中查找某结点的前驱“); printf(“n4、在链表中查找某结点的后继“); printf(“n5、在链表中插入结点“); printf(“n6、在链表中删除结点“); printf(“n7、退出“); scanf(“%d“, switch(choice)