- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北 京 林 业 大 学
实 验 任 务 书
学长的话:
记住一定看了要理解,不要只抄
北 京 林 业 大 学
学年— 学年第 学期 数据结构实验任务书
专业名称: 实验学时: 4
课程名称:数据结构A 任课教师:
实验题目:基于线性表的图书信息管理
实验环境:
实验目的:
1、掌握线性表的定义;
2、掌握线性表的基本操作,如建立、查找、插入和删除等。
实验内容:
分别定义一个包含图书信息(书号,书名,定价)的顺序表和链表,使其具有如下功能:
(1) 从给定的文件book.txt逐个读入图书信息;////ok
(2) 逐个显示图书表中所有图书的相关信息;//////ok
(3) 统计表中图书个数;///////ok
(4) 输出图书价格最低的图书信息(考虑可能有多个);////////ok
(5) 计算所有图书的平均价格;//////////////////ok
(6) 根据书名进行查找,返回相应书名的图书的书号和定价(考虑重名情况);
(7) 根据指定的位置,返回相应位置的图书的全部信息;
(8) 给定一本图书相关信息,插入到表中指定的位置,将插入后的结果重新写入文件book.txt;
(9) 删除指定位置的图书记录,将删除后的结果重新写入文件book.txt;
(10) 将图书表信息读入后逆序存储,然后将逆序的图书信息写入文件book_inverser.txt中。
(11) 按照图书价格升序进行排序,将排序的图书信息写入文件book_sort.txt中。
(12) 将价格小于30元的图书价格提高20%,价格大于等于30元的图书价格提高30%,将修改后的图书信息写入文件book_new.txt中。
选做内容(利用链表实现):
实现两个一元多项式的加法、减法、乘法运算。
我只给代码,这个我写了将近一个月才写完的。。。。。。。。。。。
链表:import java.io.*;
import java.util.*;
public class 数据结构试验一 {
public static void main(String args[])
{
File readFile=new File(book.txt);
//Book book=new Book();
Scanner read=new Scanner(System.in);//String的输入
Scanner readOne=new Scanner(System.in);//int的输入
Scanner readTwo=new Scanner(System.in);//double输入
Mylist list=new Mylist();
Mylist list2=new Mylist();//逆序
Mylist list3=new Mylist();//排序
Mylist list4=new Mylist();//价格变动
try
{
FileReader inOne=new FileReader(readFile);
BufferedReader inTwo=new BufferedReader(inOne);
String s=null;
int j=0,x=0;
while((s=inTwo.readLine())!=null)
{
// System.out.println(s);
if(x==0)
{
x=1;
System.out.println(s);
}
else
{
Book book1=new Book();
String ss[]=s.split(\\t);
for(j=0;j3;j++)
{
book1.no=ss[0];
book1.name=ss[1];
book1.price=Integer.parseInt(ss[2]);
} //这种字符串的解析不会用
list.addTail(book1);
list2.Inverser(book1);
list3.Sort(book1);
}
}
文档评论(0)