数据结构--线性表实验

时间:2024.4.30

上机实验报告

实验1: 线性表

实验内容说明(实验目的和内容):采用顺序表和链表实现通讯录储存,并使用文件写入和读取通信录数据

程序设计说明(程序功能、设计思路、算法说明):通过对话框读取姓名和电话,

并将其储存在单链表或顺序表中,创建一个文件,将储存在表中的姓名和电话写入文件,同时测试从文件中读取数据。使用一个for循环读取输入的信息,并储存,再用一个for循将信息写入文件,利用一个while循环从文件中读取数据

程序源码及详细注释:

(1)顺序表实现储存写入

package experimentLast; //该实验放在experimentLast下

import java.io.*;

import java.util.Scanner;

import ch02.SqList; //导入SqList,创建一个链表

import javax.swing.JOptionPane;

public class AddressBookOfSqList{

public static void main(String[] args) throws Exception{

SqList nameList = new SqList(10); // 创建一个链表,用于储存名字 SqList phoneList = new SqList(10); // 创建一个链表,用于储存电话话号码

JOptionPane.showMessageDialog( null,

"请输入十个人姓名和电话号码","读数据",

JOptionPane.PLAIN_MESSAGE ); // 对话框提示输入请输入十个人姓名和电话号码

for(int i=0;i<10;i++) // 使用一个循环将输入的数据插入链表

{

String name= JOptionPane.showInputDialog( "请输入第 "+(i+1)+" 人"+(i+1)+" 人的名字" ); // 对话框提示输入请输入姓名

// 将输入的姓名插入姓名链表中储存

"+name+" 的电话号码" );

phoneList.insert(i,phoneNumber); //对话框提示输入请输入电话号码

}

nameList.insert(i,name); String phoneNumber= JOptionPane.showInputDialog( "请输入

File file=new File("D:/data.txt");

//将数组写入文件中 PrintWriter output=new PrintWriter(file); for(int j=0;j<2;j++){ output.print(nameList.get(j)+": "); output.print(phoneList.get(j)+" \n"); output.close(); } Scanner input=new Scanner(file); StringBuffer buf = new StringBuffer() ; while(input.hasNext()) { } JOptionPane.showMessageDialog(null, buf); String a =input.next(); buf.append(a) ; buf.append("\n") ;

(2)单链表实现

package experimentLast; //该实验放在experimentLast下

import ch02.LinkList; //导入LinkList,创建一个链表

import java.io.*;

import java.util.Scanner;

import javax.swing.JOptionPane;

public class AddressBookOfLinkLisk {

public static void main(String[] args) throws Exception{

int LinkList nameList= new LinkList(); // 创建一个链表,用于储存名字

LinkList phoneList= new LinkList(); // 创建一个链表,用于储存电话号码

JOptionPane.showMessageDialog( null,

"请输入十个人姓名和电话号码","读数据",

JOptionPane.PLAIN_MESSAGE ); // 对话框提示输入请输入十个人姓名和电话号码 for(int i=0;i<10;i++) // 使用一个循环将输入的数据插入链表

{

String name= JOptionPane.showInputDialog( "请输入第"+(i+1)+"人得名字" ); // 对话框提示输入请输入姓名

nameList.insert(i,name); // 将输入的姓名插入姓名链表中储存

String phoneNumber= JOptionPane.showInputDialog( "请输入"+name+"得电话号码" ); //对话框提示输入请输入电话号码

// 将输入的电话插入电话链表中储存

phoneList.insert(i,phoneNumber);

}

File file=new File("D:/data.txt"); // 创建一个文件

//将链表信息写入文件

PrintWriter output=new PrintWriter(file);

for(int j=0;j<10;j++){

}

output.close(); // 关闭写入

//读取文件的信息

Scanner input=new Scanner(file);

StringBuffer buf = new StringBuffer() ; output.print(nameList.get(j).toString()+": "); output.print(phoneList.get(j).toString()+" \n");

while(input.hasNext()) { // 利用一个循环将读取信息

}

JOptionPane.showMessageDialog(null, buf); // 对话框输出内容 }

}

}

}

buf.append(a) ; buf.append("\n") ; String a =input.next();

测试数据、测试结果(结果截图)及结果分析:

输入十个人的姓名和电话号码

数据结构线性表实验

数据结构线性表实验

数据结构线性表实验

数据结构线性表实验

完成输入姓名和电话号码后,将信息写入文件

数据结构线性表实验

读取文件的信息,并通过对话框显示

数据结构线性表实验

问题及心得

通过利用顺序表和单链表储存信息,并将其写入文件,更进一步了解熟悉两种线性表储存方式的特点,线性表储存是暂时的,当程序关闭后数据会消失,所以要通过写入文件的方式长期储存,通过本实验,了解的线性表在生活中的运用。


第二篇:数据结构 实验一:线性表


《数据结构》实验报告

  专业班级:信计082        学生姓名:               学号:

实验日期:   6.8           指导老师:

                                     

更多相关推荐:
数据结构 线性表操作实验报告

数据结构实验报告实验题目线性表的操作实验目的1掌握上机调试线性表的基本方法2掌握线性表的一些基本操作实验内容将两个有序链表合并为一个有序链表一需求分析1实验程序中先创建两个有序链表演示程序以用户和计算机的对话方...

数据结构线性表试验报告

线性表上机实习1实验目的1熟悉将算法转换为程序代码的过程2了解顺序表的逻辑结构特性熟练掌握顺序表存储结构的C语言描述方法3熟练掌握顺序表的基本运算查找插入删除等掌握顺序表的随机存取特性4了解线性表的链式存储结构...

数据结构线性表实验报告

《数据结构》实验报告院系应用科技学院专业电子信息工程姓名##学号10级电信班20##年10月11日1.实验目的1.掌握线性表的基本运算。2.掌握顺序村存储的概念,学会对顺序存储数据结构进行操作。3.加深对顺序存…

数据结构--实验报告 线性表的基本操作

一实验目的二实验内容和要求三源代码1顺序表的代码2单链表的代码四测试结果1顺序表的测试结果2单链表的测试结果五心得体会实验一线性表的基本操作及其应用一实验目的1帮助读者复习C语言程序设计中的知识2熟悉线性表的逻...

数据结构实验报告 线性表的顺序表示和实现

数学与计算科学学院实验报告实验项目名称线性表的顺序表示和实现所属课程名称数据结构A实验类型验证性实验日期20xx年4月5号班级信管1002班学号20xx44070218姓名张松涛成绩1234附录1源程序5678...

数据结构实验报告三线性表的链式存储

实验报告三线性表的链式存储班级20xxXXX姓名HoogLe学号20xxXXXX专业XXXX2858505197qqcom一实验目的1掌握单链表的基本操作的实现方法2掌握循环单链表的基本操作实现3掌握两有序链表...

数据结构线性表实验报告

浙江万里学院实验报告专业班级计算机111实验小组第十组实验日期20xx921

北邮数据结构实验一线性表及源代码

数据结构实验报告实验名称实验一线性表学生姓名SECRET班级SECRET班内序号SECRET学号SECRET日期20xx年5月20日1实验要求根据线性表的抽象数据类型的定义选择下面任一种链式结构实现线性表并完成...

数据结构课程设计实验报告.doc

数据结构课程实验报告专业指导老师班级姓名学号完成日期一实验目的1掌握线性表的顺序存储结构和链式存储结构2熟练掌握顺序表和链表基本算法的实现3掌握利用线性表数据结构解决实际问题的方法和基本技巧4按照实验题目要求独...

数据结构上机报告 实验一、线性表操作

河南城建学院计算机科学与工程学院数据结构实验报告实验名称实验一线性表操作一成绩专业班级姓名学号实验日期20xx年月日一实验目的1掌握用CC语言调试程序的基本方法2掌握线性表的基本运算如插入删除等二实验内容线性表...

湖大数据结构实验7自组织线性表实验报告

HUNANUNIVERSITY课程实验报告题目自组织线性表学生姓名学生学号专业班级指导老师完成日期一需求分析输入形式本程序可从文件中读入一个或多个汉字句子并用自组织线性表保存然后从另外一个文件中依次读入要查找的...

数据结构实验一顺序表

数据结构实验一1实验目的掌握线性表的逻辑特征掌握线性表顺序存储结构的特点熟练掌握顺序表的基本运算2实验内容建立顺序表完成顺序表的基本操作初始化插入删除逆转输出销毁置空表求表长查找元素判线性表是否为空1问题描述利...

数据结构线性表实验报告(35篇)