数据结构实验报告顺序表的基本操作
“数据结构实验报告顺序表的基本操作”相关的资料有哪些?“数据结构实验报告顺序表的基本操作”相关的范文有哪些?怎么写?下面是小编为您精心整理的“数据结构实验报告顺序表的基本操作”相关范文大全或资料大全,欢迎大家分享。
数据结构实验报告顺序表和链表
实验报告
课程名称数据结构
实验项目实验一线性表的生成与操作
题目一顺序表和链表的创建与基本操作
系 别___ _计算机学院 _ ______ 专 业____计算机大类_ __ 班级/学号__(1406/2014011288)_____ 学生姓名 _______(孙文学)_________ 实验日期 _(2015年10月19日) 成 绩 _______________________
指导教师黄改娟
实验题目:实验一线性表的生成与操作
------顺序表和链表的创建与基本操作(自己所选择实验题目,必
填)
一、 实验目的
1) 掌握线性表的顺序存储和链式存储结构; 2) 验证顺序表及链表的基本操作的实现;(验证)
3) 理解算法与程序的关系,能够将算法转换为对应程序; 4) 体会线性表在实际应用中能够解决的问题。(设计、综合)
二、 实验内容
1) 根据实验一题目列表,选定题目,说明题目的主要需求;
2) 结合所选定的题目,定义存储结构,并完成对应应用的线性表创建、插入、删除、
查找等基本操作的算法描述; 3) 程序编码实现,并获得运行结果。
三、 报告内容
1) 实验题目及主要存储结构定义
(提示:请根据所选定题目,描述
数据结构实验报告1线性表的顺序存储结构
数据结构实验报告(1) 学院: 专业: 班级: 姓名 实验时间 实验项目名称 实1. 熟练掌握线性表的基本操作在顺序存储和链式存储上的实现; 验2. 以线性表的各种操作(建立、插入、删除等)的实现为重点; 目3. 掌握线性表的动态分配顺序存储结构的定义和基本操作的实现; 的 实验 条件 实1. 根据实验内容编程,上机调试、得出正确的运行程序。 验原理 实 验 2011-10-28 学号 指导教师 线性表的顺序存储结构 实验组 成绩 运行Visual c++的微机一台 2. 编译运行程序,观察运行情况和输出结果。 3. 写出实验报告(包括源程序和运行结果 #include
数据结构 - 顺序栈的基本操作
#include # define STACK_INIT_SIZE 100 # define STACKINCREMENT 10 typedef struct { int * base; int * top; int stacksize;//当前栈可使用的最大容量 } SqStack; void InitStack(SqStack &S)//构造一个空栈 { S.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int)); if(!S.base) {cout<<\存储分配失败!!!\ else { S.top=S.base; S.stacksize=STACK_INIT_SIZE; cout<<\构造成功!!!\ } } void Push(SqStack &S,int e)//插入元素e为栈顶元素 { if(S.top-S.base>=S.stacksize) { S.base=(int *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int)); if(!S.base) cout<<\存储分配失败!!!\ else { S.stacksize+=STACKINCREMENT; S.top=S.base+S.stacksize; } } *S.top++=e; } void DisplayStack(SqStack &S) //从栈底到栈顶逐次显示栈中的元素 { int *p; p=S.base;
合工大宣城校区数据结构实验报告-顺序表
数据结构实验报告
专业班姓名 学号 级 实验地指导教师 实验时间 11月3日 点
计算中心 实验一 顺序表实验
1. 实验目标
① 熟练掌握线性表的顺序存储结构。 ② 熟练掌握顺序表的有关算法设计。
③ 根据具体问题的需要,设计出合理的表示数据的顺序结构,并设计相关算法。
2. 实验内容和要求 Ⅰ.实验要求
① 顺序表结构和运算定义,算法的实现以库文件方式实现,不得在测试主程序中直接实现;比如存储、算法实现放入文件:seqList.h
② 实验程序有较好可读性,各运算和变量的命名直观易懂,符合软件工程要求; ③ 程序有适当的注释。
Ⅱ.实验内容
<1>求顺序表中第i个元素(函数),若不存在,报错。 <2>在第i个结点前插入值为x的结点
<3>删除顺序表中第i个元素结点
<4>在一个递增有序的顺序表L中插入一个值为x的元素,并保持其递增有序特性
<5>将顺序表L中的奇数项和偶数项结点分解开(元素值为奇数、偶数),分别放入新的顺序表中,然后原表和新表元素同时输出到屏幕上,以便对照求解结果
<6>求两个递增有序顺序表L1和L2中的公共元素,放入新的顺序表L3中 <7>删除递增有序顺序表中的重复元素,并统计移动元素次数,要求时间性能最好 扩展实验:
<1> 递增有序顺序表1>
7>6>5>4>3>2>1>数据结构实验四:顺序表的排序实验
一, 实验题目
实验四:顺序表的排序实验
设计算法将一个整型数组调整为这样的数组:所有3的倍数在最左边,所有除以3余1的数在中间,而所有除以3余2的数在最左边。要求算法的时间尽可能少。
二, 问题分析
本程序要求实现将一个整型数组调整为这样的数组:所有3的倍数在最左边,所有除以3余1的数在中间,而所有除以3余2的数在最左边。根据题目要求,可以用顺序表来实现。程序所能达到的是将顺序表中的元素根据被3整除的情况有规则的输出。
1, 数据的输入形式和输入值的范围:输入的顺序表的个数为大于0且小于顺序表
最大长度的整型数据,而顺序表的元素为整型。
2, 结果的输出形式:程序正确运行后,应输出顺序表中的元素是:所有3的倍数
在最左边,所有除以3余1的数在中间,而所有除以3余2的数在最左边。
3, 测试数据:
(1) 顺序表长度i:4,顺序表元素:33,45,78,99
(2) 顺序表长度i:5,顺序表元素:-12,-4,10,39,93 (3) 顺序表长度i:6,顺序表元素:25,43,8,99,45,32
三, 概要设计
1,为了实现以上程序功能,需要: 1) 建立一个含有i个元素的顺序表 2) 对顺序表的元素进行分区,将所有3的倍数在最左边,所有除以3
数据结构实验四:顺序表的排序实验
一, 实验题目
实验四:顺序表的排序实验
设计算法将一个整型数组调整为这样的数组:所有3的倍数在最左边,所有除以3余1的数在中间,而所有除以3余2的数在最左边。要求算法的时间尽可能少。
二, 问题分析
本程序要求实现将一个整型数组调整为这样的数组:所有3的倍数在最左边,所有除以3余1的数在中间,而所有除以3余2的数在最左边。根据题目要求,可以用顺序表来实现。程序所能达到的是将顺序表中的元素根据被3整除的情况有规则的输出。
1, 数据的输入形式和输入值的范围:输入的顺序表的个数为大于0且小于顺序表
最大长度的整型数据,而顺序表的元素为整型。
2, 结果的输出形式:程序正确运行后,应输出顺序表中的元素是:所有3的倍数
在最左边,所有除以3余1的数在中间,而所有除以3余2的数在最左边。
3, 测试数据:
(1) 顺序表长度i:4,顺序表元素:33,45,78,99
(2) 顺序表长度i:5,顺序表元素:-12,-4,10,39,93 (3) 顺序表长度i:6,顺序表元素:25,43,8,99,45,32
三, 概要设计
1,为了实现以上程序功能,需要: 1) 建立一个含有i个元素的顺序表 2) 对顺序表的元素进行分区,将所有3的倍数在最左边,所有除以3
数据结构实验一 顺序表的实现
数据结构实验一 顺序表的实现
班级 学号 姓名 分数
一、实验目的:
1. 熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现; 2. 以线性表的各种操作的实现为重点;
3. 通过本次学习帮助学生加深C语言的使用,掌握算法分析方法并对已经设计出的算法进行分析,给出相应的结果。
二、实验要求:
编写实验程序,上机运行本程序,保存程序的运行结果,结合程序进行分析并写出实验报告。
三、实验内容及分析:
1.顺序表的建立
建立一个含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。 程序如下:
头文件SqList.h的内容如下: #include #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int ElemType; typedef int Status; typedef st
数据结构实验一 线性表的基本操作
实验一 线性表的基本操作
一、实验目的
1、理解线形表的定义、特征和相关概念; 2、理解线形表的顺序存储结构; 3、掌握上机调试线性表的基本方法。 二、实验条件
1、PC机
2、软件Visual C++ 三、实验原理
线性表的顺序存储结构是用一组地址连续的存储单元依次存放线性表中的元素。其实现手段是数组类型。由于内存中的元素存放顺序与逻辑上的顺序相同,所以元素的地址就体现了逻辑关系,即物理相邻=逻辑相邻;在插入或者删除某一个元素时,其后的所有元素也要做相应的后移或者前移,即有可能要移动大量元素。 四、实验内容
1、利用两个线形表LA和LB分别表示两个集合A和B,现要求一个新的集合A=A∪B,用顺序表实现;
2、对给定的两个集合能够进行合并,并给出合并结果; 五、算法分析
void union(List &La, List Lb){ La_len = ListLength(La); Lb_len = ListLength(Lb); for (i=1; i<=Lb_len; i++){ GetElem(Lb,i, e);
If(!LocateElem(La,e,equal)) ListInsert(La, ++L
数据结构顺序表的实现
实验3 顺序表
一、实验目的
1. 熟练掌握顺序表的类型定义和基本操作算法(以建立、插入、删除、遍历、排序和归并等操作为重点)的实现。
2. 通过实验加深对C语言的使用(特别是函数、数组、结构体和指针)。
3. 掌握模块化程序设计方法。
二、预备知识
1. 顺序表的类型定义
//线性表存储空间的初始分配量 #define LIST_Init_Size 100 //线性表存储空间的分配增量 #define LISTINCREMENT 10 typedef struct{
ElemType *elem; //存储区域基地址 int length; //当前有效长度 int listsize; //当前分配的存储容量 } SqList, *PSqList;
2. 顺序表的基本操作
1)初始化线性表InitList(&L)
该运算的结果是构造一个空的线性表L,为线性表分配存储空间用于存放数据元素。
2)销毁线性表DestroyList(&L )
该运算的结果是释放线性表L
顺序串的基本操作实验报告
宁波工程学院电信学院计算机教研室
实验报告
课程名称: 数据结构 实验项目: 顺序串的基本操作
实验人员: 徐浩 学号: 10401010209 班 级: 计科102 指导教师: 宋宏图 实验位置: 计算机中心二楼 实验日期: 2011-10-13
一、实验目的
1)熟悉串的定义和串的基本操作。 2)掌握顺序串的基本运算。
3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。
二、实验环境
装有Visual C++6.0的计算机。 本次实验共计2学时。
三、实验内容
编写一个程序,实现顺序串的各种基本运算,并在此基础上设计一个主程序。具体如下:
编写栈的基本操作函数
顺序串类型定义如下所示: typedef struct {
char ch[MAXSIZE]; int len; } SeqString;