篇一 :实验总结报告-线性表

实验总结报告—栈和队列

学号:  姓名时间

一、目的

1.做实验的目的

加深对线性表的理解,学会定义线性表的存储结构,掌握线性表的基本操作。

2.撰写实验报告的目的

对本次实验情况进行总结,加强对实验内容的理解,对实验过程有一个系统的认识,从中获得本次试验的经验,并对实验结果进行适当的分析,加深对栈和队列的理解和认识。

二、内容

1.说明实验次数及实验内容

本次实验用一次实验课时完成

实验内容:

节点定义:

typedef struct node{

      int idx;

      int age;

      struct node *next;

}Node,*List;

本次实验的对象的存储内容包括ID和AGE,所以定义了如上的结构体,idx用于存储ID号,age用于存储年龄,next用于形成链式结构,Node定义了该类型的一个节点,List定义了该类型的一个链表。

(1)、编写函数CreateList()和PrintList(),从给定数组创建链表,打印链表。

…… …… 余下全文

篇二 :线性表实验报告

XX学院计算机科学与技术系

实验报告本


撰写及拟改实验报告注意事项

一、填写信息

1、填写信息齐全、字迹清晰、日期真实;

2、每次实验信息应填写完整,如:实验序号及实验项目;

3、每次实验时间应如实填写完整,如:第    周  星期     第    节;

4、实验报告撰写认真细致,图例完整,有大量源代码的可以附页。

二、批改实验报告

1、一律采用等级制;

2、批改时应对错分明,错误之处应有文字说明或指出错误的标记;

3、批改后的签名和日期应完整。


计算机专业实验课程考试与考核

为推动实验教学改革,规范实验课程考试与考核,提高学生实践动手能力。计算机专业实验部对实验课程考试与考核方法如下规定。

1、考核以实验课程的教学大纲为准。

2、根据课程性质,采用考核制,总成绩采用等级制计分。

以本实验课程完成的实验内容为依托,独立完成老师布置的验证性、综合性、设计性、创新性实验项目。重点考查学生实验态度,在实验过程中能否及时发现问题,解决问题,是否有创新性设计思想。

…… …… 余下全文

篇三 :数据结构线性表实验报告

《数据结构》实验报告

院系  应用科技学院专业电子信息工程           

姓名  ##         学号 

10  电信 20##  10 11

1.实验目的

       1.掌握线性表的基本运算。

       2.掌握顺序村存储的概念,学会对顺序存储数据结构进行操作。

       3.加深对顺序存储数据结构的理解,逐步培养解决实际问题的编程能力。

2.需求分析

      要求用c语言编写一个演示程序,首先建立一个空表,然后根据用户选择,能够在线性表的任意位置实现插入元素、删除元素、初始化线性表、查找某一元素的在线性表中得位置。

…… …… 余下全文

篇四 :实验一 线性表操作 实验报告

中国矿业大学计算机学院实验报告

…… …… 余下全文

篇五 :数据结构线性表实验报告

浙江万里学院实验报告

 

课程名称:      数据结构                                

实验名称:      线性表                                

专业班级: 计算机111  实验小组:    第十组       实验日期: 20##-9-21           

…… …… 余下全文

篇六 :线性表实验报告

数据结构实验报告

实习题名线性表的基本运算以及多项式的算术运算

班级:B120413    姓名:陈何渊  学号B12041318   日期:2013.10.7

顺序表的基本运算:

一、       问题描述

实现单链表的定义和基本操作。实现顺序表的逆置。删除表中所有元素值等于x的元素。若表中存在这样的元素,删除之,函数返回true;否则返回false。

二、       概要设计

如下图显示了名为SeqList.dsw的工程,包含3个文件,包括linearlist.h,list.h和SeqList.cpp。其中linearlist.h和list.h是程序头文件。List.h是linearlist.h的派生类来实现线性表的基本运算。SeqList.cpp是程序运行文件。而主函数代码如图所示:

三、       详细设计

1.         类和类的层次结构

…… …… 余下全文

篇七 :线性表的基本操作实验报告

实验一:线性表的基本操作

【实验目的】

学习掌握线性表的顺序存储结构、链式存储结构的设计与操作。对顺序表建立、插入、删除的基本操作,对单链表建立、插入、删除的基本操作算法。

【实验内容】

1. 顺序表的实践

1) 建立4个元素的顺序表s=sqlist[]={1,2,3,4,5},实现顺序表建立的基本操作。

2) 在sqlist []={1,2,3,4,5}的元素4和5之间插入一个元素9,实现顺序表插入的基本操作。

3) 在sqlist []={1,2,3,4,9,5}中删除指定位置(i=5)上的元素9,实现顺序表的删除的基本操作。

2. 单链表的实践

3. 1) 建立一个包括头结点和4个结点的(5,4,2,1)的单链表,实现单链表建立的基本操作。

2) 将该单链表的所有元素显示出来。

3) 在已建好的单链表中的指定位置(i=3)插入一个结点3,实现单链表插入的基本操作。

4) 在一个包括头结点和5个结点的(5,4,3,2,1)的单链表的指定位置(如i=2)删除一个结点,实现单链表删除的基本操作。

5) 实现单链表的求表长操作。

【实验步骤】

1.打开VC++。

…… …… 余下全文

篇八 :线性表实验报告

数 据 结 构

实验报告

实验名称:___线性表_________________________

学生姓名:张鑫磊____________________________

班    级:2013211107____________________________

班内序号:01____________________________

学    号:2013210182____________________________

日    期:2015.1.6____________________________


(一)实验目的和要求
实验目的:熟练掌握线性表的基本操作在顺序存储结构上的实现。
实验要求:任选一种高级程序语言编写源程序,并调试通过,测试正确。

(二)实验主要内容
1.      建立n个元素的顺序表SqList,实现顺序表的基本操作;
2.      在SqList的元素i之后插入一个元素,实现顺序表插入的基本操作;
3.      在sqList中删除指定位置i上的元素,实现顺序表删除的操作。
4.     
(三)仪器设备
PC机,Windows XP操作平台,Visual C++

(四)实验原理
顺序表操作:定义一个顺序表类,该类包括顺序表的存储空间、存储容量和长度,以及构造、插入、删除、遍历等操作的方法

(五)实验步骤与调试分析:
        顺序表操作:先构造有四个数据的顺序表,在第4个位置插入9,再读取并删除第3个元素。

(六)源程序:
#include<iostream>
using namespace std;

const int LIST_INIT_SIZE=10;                           //顺序表初始长度
const int LISTINCREMENT=5;                                     //顺序表长度增值
class SqList
{
        int *L;                                         //定义存储空间起始地址
        int length;                                            //顺序表当前长度
        int listsize;                                          //顺序表当前存储容量
        bool flag;                                             //设立标志值记录操作成败
public:
        SqList(int v1,int v2,int v3,int v4);  //构造函数构造并初始化顺序表
        void ListInsert(int i,int e);          //实现将e插入到顺序表中第i个位置
        void ListDelete(int i,int &e);         //实现删除顺序表第i个元素
        void ListVisit();                              //实现顺序表的遍历
};
SqList::SqList(int v1,int v2,int v3,int v4)   //构造并初始化顺序表
{      
        L=new int[LIST_INIT_SIZE];
        if(!L)                                          //分配失败
        {
                flag=false;
                cout<<"ERROR"<<endl;
        }
        else                                            //分配成功,进行初始化
        {
                *L=v1;
                *(L+1)=v2;
                *(L+2)=v3;
                *(L+3)=v4;
                length=4;
                listsize=LIST_INIT_SIZE;
                flag=true;
        }
}
void SqList::ListInsert(int i,int e)                          //插入元素
{
        int *p,*q;
        int t;
        if(i<1||i>length+1)    cout<<"ERROR"<<endl;           //插入位置错误
        else
        {
                if(length==listsize)                                   //空间不足,增加分配
                {      
                        p=new int[listsize+LISTINCREMENT];
                        if(!p)  cout<<"ERROR"<<endl;                   //分配失败
                        else                                    //分配成功,复制顺序表
                        {
                                for(t=0;t<length;t++)
                                        *(p+t)=*(L+t);
                                q=L;L=p;p=q;
                                delete q;
                                listsize+=LISTINCREMENT;
                        }
                }
                for(t=length;t>=i;t--)
                                *(L+length)=*(L+length-1);
                *(L+i-1)=e;
                length++;                                      //插入成功,表长加1
        }
}
void SqList::ListDelete(int i,int &e)
{
        if(i<1||i>length)      cout<<"ERROR"<<endl;           //删除位置错误
        else
        {
                e=*(L+i-1);
                while(i<length)
                {
                        *(L+i-1)=*(L+i);
                        i++;
                }
                length--;                                              //删除成功表长减1
        }
}
void SqList::ListVisit()                                               //遍历
{
        int i;
        for(i=0;i<length;i++)
                cout<<" "<<*(L+i);
        cout<<endl;
}

int main()
{
        int e=0;
        SqList list(2,3,4,5);
        list.ListVisit();
        list.ListInsert(4,9);
        list.ListVisit();
        list.ListDelete(3,e);
        list.ListVisit();
        cout<<"e="<<e<<endl;
        return 0;
}

…… …… 余下全文