单链表基本操作的实现实验报告
“单链表基本操作的实现实验报告”相关的资料有哪些?“单链表基本操作的实现实验报告”相关的范文有哪些?怎么写?下面是小编为您精心整理的“单链表基本操作的实现实验报告”相关范文大全或资料大全,欢迎大家分享。
单链表的集合操作实验报告
江西理工大学软件学院
实 验 报 告
系(部) 机电工程系
课 程 数据结构 专业班级 11机械电子(2)班
姓 名 杨锦其 学 号 11212203 指导教师 刘廷苍
实验题目:用单链表实现集合的操作
一.实验目的
用有序单链表实现集合的判等,交,并和差等基本运算。
二.实验内容
(1)对集合中的元素用有序单链表进行存储;
(2)实现交,并,差等基本运算时,不能另外申请存储空间; (3)充分利用单链表的有序性,要求算法有较好的时间性能。
三.设计与代码
1. 理论知识
集合是由互不相同的元素构成的一个整体,在集合中,元素之间可以没有任何关系,所以,集合也可以作为线性表处理。用单链表实现集合的操作,需要注意集合中元素的唯一性,即在单链表中不存在值相同的结点。本实验要求采用有序单链表,还要注意单链表的有序性。
2. 算
循环单链表的实验报告
《数据结构》实验报告
1、实验名称:设计循环单链表 2、实验日期: 2011-3-4 3、基本要求:
1)循环单链表的操作,包括初始化、求数据元素个数、插入、删
除、取数据元素;
2)设计一个测试主函数实际运行验证所设计循环单链表的正确性。
4、测试数据:
依次输入1,2,3,4,5,6,7,8,9,10,删除5,再依次输出
数据元素。
5、算法思想或算法步骤:
主函数主要是在带头结点的循环单链表中删除第i个结点,其主
要思想是在循环单链表中寻找到第i-1个结点并由指针p指示,然后让指针s指向a[i]结点,并把数据元素a[i]的值赋给x,最后把a[i]结点脱链,并动态释放a[i]结点的存储空间。
6、模块划分:
1)头文件LinList.h。头文件LinList.h中包括:结点结构体定
义、初始化操作、求当前数据个数、插入一个结点操作、删除一个结点操作以及取一个数据元素操作;
2)实现文件xhdlb.cpp。包含主函数void main(void),其功能是测试所设计的循环单链表的正确性。
7、数据结构:
链表中的结点的结构体定义如下:
typedef struct Node {
DataType d
数据结构 实验二:单链表的基本操作
实验二:单链表的基本操作
一、【实验目的】
1、理解和掌握单链表的类型定义方法和结点生成方法。 2、掌握建立单链表和显示单链表元素的算法。 3、掌握单链表的查找、插入和删除算法 二、【实验内容】 1、建立一个整形数的单链表,手动输入10个数,并从屏幕显示单链表元素列表。 2、从键盘输入一个数,查找在以上创建的单链表中是否存在该数;如果存在,显示它的位置;如果不存在,给出相应提示。 3、删除上述单链表中指定位置的元素。
以下是程序部分代码,请调试并补充使之正确运行:
1.LinList.h
typedef struct Node {
DataType data; struct Node *next; } SLNode;
void ListInitiate(SLNode **head) /*初始化*/ {
/*如果有内存空间,申请头结点空间并使头指针head指向头结点*/ if((*head = (SLNode *)malloc(sizeof(SLNode))) == NULL) exit(1); (*head)->next = NULL; /*置链尾标记NULL */ }
int ListLength(SLNo
RAID的实现实验报告
实验三 RAID的实现
一、实验目的
1、 了解与掌握RAID0、RAID1、RAID5的原理与实现 2、 了解与掌握RAID1、与RAID5数据的恢复
第一部分 在VMware虚拟机中添加SCSI硬盘
一、在VMware虚拟机中添加4块SCSI硬盘 1、 打开虚拟机,但不要运行
2、 选择“Commands”栏内的“Edit virtual machine settings”选项 3、 在“Virtual Machine Settings”对话框中选择”Add”按钮?出现“Add Hardware Wizard”对话框?“Hard
Disk” Hard Disk?Next按钮
4、 在Select a Disk对话框中选择Create a new virtual disk选项?”next”按钮
5、 在select a Disk Type对话框中选择虚拟机磁盘类型时选择SCSI磁盘类型?“Next”按钮 6、 在Specify Disk Capacity对话框中将硬盘的大小设置为1GB?Next按钮,注意实际磁盘是由一个文
件模拟的,文件名为“Other Linux2.6.x kernel.vmdk0-x”-?选择finish按钮 7、 重
RAID的实现实验报告
实验三 RAID的实现
一、实验目的
1、 了解与掌握RAID0、RAID1、RAID5的原理与实现 2、 了解与掌握RAID1、与RAID5数据的恢复
第一部分 在VMware虚拟机中添加SCSI硬盘
一、在VMware虚拟机中添加4块SCSI硬盘 1、 打开虚拟机,但不要运行
2、 选择“Commands”栏内的“Edit virtual machine settings”选项 3、 在“Virtual Machine Settings”对话框中选择”Add”按钮?出现“Add Hardware Wizard”对话框?“Hard
Disk” Hard Disk?Next按钮
4、 在Select a Disk对话框中选择Create a new virtual disk选项?”next”按钮
5、 在select a Disk Type对话框中选择虚拟机磁盘类型时选择SCSI磁盘类型?“Next”按钮 6、 在Specify Disk Capacity对话框中将硬盘的大小设置为1GB?Next按钮,注意实际磁盘是由一个文
件模拟的,文件名为“Other Linux2.6.x kernel.vmdk0-x”-?选择finish按钮 7、 重
单链表练习实验报告 - --李兴福
单链表练习实验
——————电信14--1班 20141303225 李兴福
实验目的:熟练掌握单的基本操作及简单应用。 实验内容:
1、 设计一个算法,将单链表中的N个元素倒置。
2、 设单链表中的数据递增有序,写算法,将元素X插入到单链表中适当位置,且保持该
表的有序性。
3、 用单链表实现两个集合的合并。
4、 将两个用单链表表示的有序表合并成一个有序表。 以下代码均在C--free5.0环境下编译。
首先第一个题目:设计一个算法,将单链表中的N个元素倒置 程序代码:
#include typedef int ELEMTYPE; //定义一个结构体 struct node { ELEMTYPE element; struct node *next; }; //创建一个头结点和一个尾节点 struct node *head; struct node *tail; void init() //实现单链表的初始化 { head=(s
数据结构实验报告二单链表的应用
《数据结构》实验报告
实验二、单链表的应用
专 业 班 级 学 号 学生姓名 指导老师
河南科技大学管理学院
年 月 日
一、实验目的
熟练掌握线性表的链式存储结构的建立方法以及基本操作算法,并根据实际问题的要求,灵活运用。
二、实验内容
本次实验要求以班级学生信息作为管理对象,根据实验一建立班级学生信息线性表的链式存储结构,并练习使用单链表的基本操作算法,实现对班级学生信息的管理,包括学生信息的插入、学生信息的删除、学生信息的查询和学生信息线性表的输出。
三、完成情况
#include //#define MAXSIZE 100 typedef struct{ char num[8];/*学号*/ char name[9];/*姓名*/ char gender[3];/*性别*/ int score;/*成绩*/ }DataType; typedef
链表的合并 实验报告
课程设计报告
课程设计题目:两个链表的合并
专
业:软件工程
班 级: 姓 名: 学 号: 指导教师:
年 月 日
目 录
1. 2. 3. 4. 5. 6. 7.
课程设计的目的及要求
课程设计的内容(分析和设计) 算法流程图 详细步骤 代码 显示结果
课程设计的总结
一.课程设计的目的及要求
1.目的:实现两个链表的合并 2.要求:
(1) 建立两个链表A和B,链表元素个数分别为m和n个。
(2) 假设元素分别为(x1,x2,…xm),和(y1,y2, …yn)。把它们合并成一个线形表C,使得: 当m>=n时,C=x1,y1,x2,y2,…xn,yn,…,xm 当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn 输出线形表C
(3) 用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。 (4) 能删除指定单链表中指定位子和指定值的元素。
二.课程设计的内容(分析和设计)
1..分析
由题目的相关信息可以分析得:首先我们需要建立两个链表AB,A链表的元素个数为m,B链表的元素个数为n;在将A、B链表进行合并,根据m和n的大小关系决定链表C
操作系统实验内存分配(链表实现)
#include memory *base; //代表内存,一个头指针,内存总大小为256k void init(int manage) //内存的初始化 { memory *p,*q; if(base!=NULL) //这一块是释放链表 { p=base; while(p) { q=p->next; delete p; p=q; } } base=new memory; //操作系统,大小5k,起始地址是0k base->begin=0; base->pro='o'; base->size=5; if(manage==0) //静态内存,初始化7个内存块,第一个内存块是操作系统 { p=base; q=new memory; //空闲块1,
操作系统实验内存分配(链表实现)
#include memory *base; //代表内存,一个头指针,内存总大小为256k void init(int manage) //内存的初始化 { memory *p,*q; if(base!=NULL) //这一块是释放链表 { p=base; while(p) { q=p->next; delete p; p=q; } } base=new memory; //操作系统,大小5k,起始地址是0k base->begin=0; base->pro='o'; base->size=5; if(manage==0) //静态内存,初始化7个内存块,第一个内存块是操作系统 { p=base; q=new memory; //空闲块1,