单链表基本操作的实现实验报告

“单链表基本操作的实现实验报告”相关的资料有哪些?“单链表基本操作的实现实验报告”相关的范文有哪些?怎么写?下面是小编为您精心整理的“单链表基本操作的实现实验报告”相关范文大全或资料大全,欢迎大家分享。

单链表的集合操作实验报告

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

江西理工大学软件学院

实 验 报 告

系(部) 机电工程系

课 程 数据结构 专业班级 11机械电子(2)班

姓 名 杨锦其 学 号 11212203 指导教师 刘廷苍

实验题目:用单链表实现集合的操作

一.实验目的

用有序单链表实现集合的判等,交,并和差等基本运算。

二.实验内容

(1)对集合中的元素用有序单链表进行存储;

(2)实现交,并,差等基本运算时,不能另外申请存储空间; (3)充分利用单链表的有序性,要求算法有较好的时间性能。

三.设计与代码

1. 理论知识

集合是由互不相同的元素构成的一个整体,在集合中,元素之间可以没有任何关系,所以,集合也可以作为线性表处理。用单链表实现集合的操作,需要注意集合中元素的唯一性,即在单链表中不存在值相同的结点。本实验要求采用有序单链表,还要注意单链表的有序性。

2. 算

循环单链表的实验报告

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

《数据结构》实验报告

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

数据结构 实验二:单链表的基本操作

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

实验二:单链表的基本操作

一、【实验目的】

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的实现实验报告

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

实验三 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的实现实验报告

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

实验三 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、 重

单链表练习实验报告 - --李兴福

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

单链表练习实验

——————电信14--1班 20141303225 李兴福

实验目的:熟练掌握单的基本操作及简单应用。 实验内容:

1、 设计一个算法,将单链表中的N个元素倒置。

2、 设单链表中的数据递增有序,写算法,将元素X插入到单链表中适当位置,且保持该

表的有序性。

3、 用单链表实现两个集合的合并。

4、 将两个用单链表表示的有序表合并成一个有序表。 以下代码均在C--free5.0环境下编译。

首先第一个题目:设计一个算法,将单链表中的N个元素倒置 程序代码:

#include #include

typedef int ELEMTYPE; //定义一个结构体 struct node { ELEMTYPE element; struct node *next;

}; //创建一个头结点和一个尾节点 struct node *head; struct node *tail;

void init() //实现单链表的初始化 { head=(s

数据结构实验报告二单链表的应用

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

《数据结构》实验报告

实验二、单链表的应用

专 业 班 级 学 号 学生姓名 指导老师

河南科技大学管理学院

年 月 日

一、实验目的

熟练掌握线性表的链式存储结构的建立方法以及基本操作算法,并根据实际问题的要求,灵活运用。

二、实验内容

本次实验要求以班级学生信息作为管理对象,根据实验一建立班级学生信息线性表的链式存储结构,并练习使用单链表的基本操作算法,实现对班级学生信息的管理,包括学生信息的插入、学生信息的删除、学生信息的查询和学生信息线性表的输出。

三、完成情况

#include #include

//#define MAXSIZE 100

typedef struct{

char num[8];/*学号*/ char name[9];/*姓名*/ char gender[3];/*性别*/ int score;/*成绩*/ }DataType;

typedef

链表的合并 实验报告

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

课程设计报告

课程设计题目:两个链表的合并

业:软件工程

班 级: 姓 名: 学 号: 指导教师:

年 月 日

目 录

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

操作系统实验内存分配(链表实现)

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

#include #include #include struct memory //内存块 { char pro; //内存块的内容,'o'代表操作系统,'\\0'代表空闲块,其它代表被进程占有 int size; //内存块的大小 int begin; //内存块的起始地址 memory *next; //下一块内存块 };

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,

操作系统实验内存分配(链表实现)

标签:文库时间:2024-12-14
【bwwdw.com - 博文网】

#include #include #include struct memory //内存块 { char pro; //内存块的内容,'o'代表操作系统,'\\0'代表空闲块,其它代表被进程占有 int size; //内存块的大小 int begin; //内存块的起始地址 memory *next; //下一块内存块 };

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,