- 15
- 0
- 约3.18万字
- 约 37页
- 2017-11-08 发布于浙江
- 举报
实验四(查找与排序)
一、 实验目的
1. 掌握查找与排序的基本思想及操作。
2. 用C 语言实现链表的建立、删除、增加结点等基本操作。
3. 灵活运用所学到的数据存储结构,熟悉掌握其思想及存储特点。
4. 学会综合使用学到的数据存储结构,并使用查找与排序的方法。
5. 用C 语言实现链表的建立、删除、增加结点等基本操作。
二、 实验题目
图书管理
(1)问题描述
有一个小型书库保管了大量图书,关于图书有大量信息需要处理,这些信息
包括图书的分类、书名、作者名、购买日期、价格等。现要求编写一个程序
以便于对图书的管理。
(2 )基本要求:
a .建立图书信息。
b.提供查找功能,按照多种关键字查找需要的书籍。例如按书名查找,输入
书名后,将显示出该图书的所有信息,或显示指定信息。
c .提供排序功能,按照多种关键字对所有的书籍进行排序,例如按出版日
期进行排序。
d .提供维护功能,可以对图书信息进行添加、修改、删除等功能。
(3 )数据结构与算法分析
数据存储结构可根据需要自选。如:顺序表、单链表、双链表、栈等。算法主
要要求用到对数据的查询与排序算法。
三、 实验基础知识
1.性链表的每个数据元素 除了存储其本身的信息之外,还需存储一个指示其直接后继
的信息 (即直接后继的存储位置)。这两部分信息组成数据元素 的存储映像,称为结点。
它包括两个域:其中存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指
针域。
2.malloc 标准函数:void * malloc (size) ,分配 size 字节的内存区 。执行
p=(Linklist)malloc(sizeof(LNode))的作用是由系统生成一个LNode 型的结点,同时将该结点
的起始位置赋值给指针变量p 。
3.free 标准函数: void free(p) ,释放p 所指的内存区。执行free(p) 的作用是由系统回收一
个LNode 型结点,回收后的空间可以备作再次生成结点是用。
4.查找思路:从链表的第一个结点开始,按顺序依次与给定值比较,若某个记录的关键字
和给定值比较相等,返回该结点。反之,查找不成功。
5.排序思路:建立空链表,将需要排序的部分链表的每个结点按给定次序查入空链表中,
然后输出新链表。
四、实验设计方法
1.结构设计
定义一个结构 book ,包含书名name 、作者writer 、价格price、购买日期date 及出版
日期comedate 、和类别等基本信息。基本模块编写,包括对所需功能的实现,利用链表的
相关知识与内容,以及主函数和函数调用 switch 语句实现功能的选择与分配,主函数和编
写的函数再调用其他函数实现图书信息管理的功能。
2.功能设计
(1)建立图书信息
void creat(pbook head)//建立图书信息
{ pbook p,q;
p=head;
q=(pbook)malloc(sizeof(book));
while(p-link!=NULL)
p=p-link;
q-link=NULL;
p-link=q;
printf(请输入书名\n);
scanf(%s,q-name);
printf(请输入作者姓名\n);
scanf(%s,q-writer);
printf(请输入书的价格\n);
scanf(%f,q-price);
printf(请输入书的购买日期\n 输入样例n);
scanf(%s,q-date);
printf(请输入书的出版日期\n 输入样例n);
scanf(%s,q-comedate);
printf(请输入书的类别\n);
scanf (%s,q-family);
printf(\n);
num++; //每次加入新的信息后系统内图书总数+1
print(q);
return head;
}
(2 )按照书名排序
void namesort(pbook head1,pbook head2)//按书名排序
{
pbook q0,q[50],p1,p2,temp;
q0=(pbook)malloc(sizeof(book));
int i=0
您可能关注的文档
- 同济大学 中西艺术比较课程-Presentation 7(英).ppt
- 同济大学 中西艺术比较课程-Presentation6(英).ppt
- 同济大学 中西艺术比较课程-贴体与飘举(中).pptx
- 201708桂林物理教学会议-引力波.ppt
- AutoCAD教学设计l.doc
- EliteQ-大学教学论上机模拟.doc
- InCites和ESI分析工具应用.pptx
- XXXX学院计算科学系统计学专业2015专业课教学大纲汇总.doc
- 北京大学2012-2013学年第一学期法律导论课程期末考试复习提纲.doc
- 北京大学CAT计算机历年试卷.docx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 课件第3讲gps伪距测量原理.pptx VIP
- 焊割工操作安全培训内容课件.pptx VIP
- 蚌埠市博物馆展览陈列大纲.pdf VIP
- 《爷爷的爷爷从哪里来》整本书阅读 课件 四年级下册语文(统编版).pptx VIP
- 指南共识│咯血诊治专家共识.pptx
- 博物馆陈列展览大纲精编.docx VIP
- Q/GDW 376.1-2009《电力用户用电信息采集系统通信协议:主站与采集终端通信协议》及编制说明1.doc VIP
- 阀门电动执行装置设计毕业设计(论文).doc VIP
- 中考数学二轮复习 专题11 二次函数与矩形、菱形的存在性问题(知识解读)(解析版).doc VIP
- 博物馆陈列展览大纲(2019最新版).docx VIP
原创力文档

文档评论(0)