篇一 :数据结构顺序表实验报告

《数据结构》课程实验报告

注:空间不够,可以增加页码。

…… …… 余下全文

篇二 :数据结构实验报告顺序表

选课时间段: 周四6、7、8、9 序 号:

实验报告

课程名称: 数据结构

实验名称: 顺序表的实现

指导教师:

学生姓名:

学生学号:

实验日期: 20xx年4月11日

1

一、实验目的

1、 熟悉实验环境

2、 理解顺序表的基本操作

3、 了解顺序表的建立和输出

4、 掌握顺序表的插入、删除、合并和归并等实现方法

二、实验内容

三、实验步骤

1.需求分析

本演示程序用C语言编写,完成顺序表的生成,任意位置的插入、删除,以及确定某一元素在顺序表中的位置。

① 输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素的值都是整数。

② 输出的形式:在所有三种操作中都显示操作是否正确以及操作后顺序表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。

③ 程序所能达到的功能:完成顺序表的生成(通过插入操作)、插入、删除、查找操作。

④ 测试数据:

A. 插入操作中依次输入11,12,13,14,15,16,生成一个顺序表

B. 查找操作中依次输入12,15,22返回这3个元素在顺序表中的位置

C. 删除操作中依次输入2,5,删除位于2和5的元素

2.概要设计

1)为了实现上述程序功能,需要定义顺序表的抽象数据类型: ADT LinkList { 数据对象:D={ai|ai∈IntegerSet,i=0,1,2,?,n,n≥0} 数据关系:R={<ai,ai+1>|ai,ai+1 ∈D} 基本操作: InitLinkList(&L) 操作结果:构造一个空的顺序表L. InsLinkList(&L,pos,e) 初始条件:顺序表L已存在 2

…… …… 余下全文

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

一、           实验目的

二、           实验内容和要求

三、           源代码

1)        顺序表的代码

2)        单链表的代码

四、       测试结果

1)        顺序表的测试结果 

2)        单链表的测试结果 

五、心得体会

实验一  线性表的基本操作及其应用

一、实验目的

1、帮助读者复习C++语言程序设计中的知识。

2、熟悉线性表的逻辑结构。

3、熟悉线性表的基本运算在两种存储结构上的实现。

4、掌握顺序表的存储结构形式及其描述和基本运算的实现。

5、熟练掌握动态链表结构及有关算法的设计

二、实验内容

题目一:顺序表的基本操作

[问题描述]

实现顺序表的建立、求长度,取元素、修改元素、插入、删除等顺序表的基本操作。

[基本要求]

(1)依次从键盘读入数据,建立带头结点的顺序表;

    (2)输出顺序表中的数据元素

(3)求顺序表的长度;

(4)根据指定条件能够取元素和修改元素;

…… …… 余下全文

篇四 :顺序表数据结构实验报告

数据结构实验报告

1.实验目的(结出本次实验所涉及并要求掌握的知识点)

1.学会定义线性表的顺序存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。 

2.掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。

2.实验内容(结出实验内容具体描述)

1. 建立一个含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。      

2. 往该顺序表中第i位置插入一个值为x的数据元素。      

3. 从该顺序表中第j位置删除一个数据元素,由y返回。 

4. 从该顺序表中查找一个值为e的数据元素,若找到则返回该数据元素的位置,否则返回“没有找到”。

3.算法描述及实验步骤(用适当的形式表达算法设计思想与算法实现步骤)

1.编写头文件。定义数据类型。

2.编写主函数。

4.调试过程及运行结果(详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果)

5. 总结(对实验结果进行分析,问题回答,实验心得体会及改进意见)

存储地址必须为相连的地址

6.附录(程序源代码等)

#include <stdio.h>

#include <stdlib.h>

typedef struct k{

       int d;

       struct k *n;

}node;

void printlist(node *h)

{

       node *p;

…… …… 余下全文

篇五 :数据结构顺序表操作实验报告

实验1 顺序表的操作

一、实验要求

1.输入一组整型元素序列,建立顺序表。

2.实现该顺序表的遍历。

3.在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。

4.判断该顺序表中元素是否对称,对称返回1,否则返回0。

5.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。

6.* 输入整型元素序列利用有序表插入算法建立一个有序表。

7.* 利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。

8.编写一个主函数,调试上述算法。

二、源代码

#include"stdio.h"

#include"stdlib.h"

#define ElemType int//int类型宏定义

#define MAXSIZE 100

//顺序结构

typedef struct

{

ElemType elem[MAXSIZE]; //元素数组

int length; //当前表长

}SqList;

//建立顺序表

void BuildList(SqList &L)

{

int n;

printf("请输入建立顺序表的大小。n=");

scanf("%d",&n);

L.length=n;

printf("\n开始建立顺序表...\n");

for(int i=0;i<L.length;i++)//循环建立顺序表

{

printf("\n请输入第%d个元素:",i+1);

scanf("%d",&L.elem[i]);

…… …… 余下全文

篇六 :数据结构顺序表实验报告

一、 设计人员相关信息

1. 设计者姓名、学号和班号:12地信

2. 设计日期:2014.

3. 上机环境:VC++6.0

二、 程序设计相关信息

1. 实验题目:编写一个程序,实现顺序表的各种基本运算(假设顺序表元素为char),并在此基础上设计一个程序,完成如下功能:

(1)初始化顺序表L;

(2)依次采用尾插法插入a,b,c,d,e元素

(3)输出顺序表L:

(4)输出顺序表L长度

(5)判断顺序表L是否为空

(6)输出顺序表L的第3个元素

(7)输出元素a的位置

(8)在第4个元素位置上插入f元素

(9)输出顺序表L:

(10)删除L的第3个元素

(11)输出顺序表L:

(12)释放顺序表L

2. 实验项目组成:线性表的初始化, 销毁, 判断线性表是否为空, 求线性表长度, 输出线性表, 求线性表中某个数据元素值, 插入数据元素, 删除数据元素。

3. 实验项目的程序结构(程序中的函数调用关系图):

4. 实验项目包含的各个文件中的函数的功能描述:

CreateList:建立顺序表。其方法是将给定的含有n个元素的数组的每个元素依次放入到顺序表中,并将n赋给顺序表的长度域。

InitList:初始化线性表。该运算的结果是构造一个空的线性表L。实际上只需分配线性表的存储空间并将length域设置为0即可。

DetroyList:释放线性表L占用的内存空间。

int ListEmpty:判断线性表是否为空表。判断成员length是否为0,就可以判断线性表是否为空。

int ListLength:求线性表的程度。返回成员length即可

void DispList:输出线性表。当先线性表L不为空的时候,顺序输出每个元素的值。 int GetElem:求线性表中某个数据元素值。返回L中第i个位置的元素值。

LocateElem:按元素值查找。该运算按顺序查找第一个值域和e相等的元素的逻辑位序。 ListInsert:插入数据元素。将第i个位置以后的数据依次后移一位,然后将e插入位置i。

…… …… 余下全文

篇七 :数据结构实验报告_顺序表的操作

一 .实验内容

1.Description

建立一个顺序表,然后在已建好的顺序表上实现顺序表插入和删除等基本操作。最后输出最终结果。

要求:Time Limit:1000MS  Memory Limit:65536K
2.eg.Input
有多组测试数据,每组数据由三部分组成。第一部分包含两个整数n(n<=1000)和m(m<=1000),n表示第二部分包含n个整数,m表示第三部分包含m个操作。操作项的格式有:insert i x和delete i。insert i x 表示在第i个位置插入数字x,delete i表示删除第i个元素。当n和m同时为0时结束。

Output

对于每组数据,按顺序输出顺序表中的元素。输出结果占一行。

Sample Input

4 5

2 3 4 5

insert 2 6

delete 4

insert 2 9

insert 1 100

delete 4

Sample Output

100 2 9 3 5

二.实验源程序

#include <stdio.h>

#include <stdlib.h>

# define M 100

# define N 10

typedef struct {

    int *elem;

       int length;

       int size;

}SqList;

void InitList(SqList &L,int n){

    L.elem = (int *)malloc(M * sizeof(int));

       L.length = n;  //空间长度为n

…… …… 余下全文

篇八 :数据结构实验报告(C语言)顺序表查找

数据结构实验报告C语言顺序表查找

计算机科学与技术系

实 验 报 告

专业名称 计算机科学与技术 课程名称 数据结构与算法 项目名称 顺序表查找

班 级

学 号

姓 名

实验日期

格 式 要 求

实验报告注意格式规范,要求在word中编写,文中不要有空行,统一使用A4页面。

页边距:上2.5cm、下2cm、左2.5cm、右2cm。

标题:宋体、四号字、加粗、1.5倍行距。

正文:宋体、小四号字、1.2倍行距。

一、实验目的与要求:

(一)实验目的

1、掌握线性表中元素的前驱、后续的概念。

2、掌握顺序表与链表的建立、插入元素、删除表中某元素的算法。

3、掌握线性表三种查找的算法。

4、对线性表相应算法的时间复杂度进行分析。

5、理解顺序表数据结构的特点(优缺点)。

(二)实验要求

1.将实验中所要求的每个功能用一个函数实现。

2.每个输入前要有输入提示,每个输出数据都要求有内容说明(如:280和100的和是:380。)。

3.函数名称和变量名称等用英文或英文简写(每个单词第一个字母大写)形式说明。

二、实验方法:(代码)

include "stdafx.h"

#include<stdio.h>

#include<malloc.h>

#define ERROR 0

#define OK 1

#define INIT_SIZE 5 /*初始分配的顺序表长度*/

#define INCREM 5 /*溢出时,顺序表长度的增量*/

typedef int ElemType; /*定义表元素的类型*/

typedef struct Sqlist{

ElemType *slist; /*存储空间的基地址*/ int length; /*顺序表的当前长度*/ int listsize; /*当前分配的存储空间*/

…… …… 余下全文