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

实验总结报告—栈和队列

学号:  姓名时间

一、目的

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(),从给定数组创建链表,打印链表。

…… …… 余下全文

篇二 :实验报告_线性表

        

             课程名称:   数据结构与算法    

            学生姓名:               

                号:         

            点名序号:                    

…… …… 余下全文

篇三 :线性表实验报告

数据结构实验报告

姓名:方钢 学号: 20105567 专业: 电子商务 班 级:10-1班

指导教师:张逸仙 实验时间: 实验地点: 新区实验楼4楼

(实验题目)线性表实验

1. 实验内容和要求

1.1实验要求

① 顺序表结构定义,算法的实现以库文件方式实现,库文件名统一为

seqList.h;

② 实验程序有较好可读性,各运算和变量的命名直观易懂,符合软件

工程要求;

③ 程序有适当的注释。

1.2实验内容

<1>求顺序表中第i个元素(函数),若不存在,报错。

<2>在第i个结点前插入值为x的结点。

<3>删除顺序表中第i个元素结点。

<4>在一个递增有序的顺序表L中插入一个值为x的元素,并保持其递增有序特性。

<5>将顺序表L中的奇数项和偶数项结点分解开(元素值为奇数、偶数),分别放入新的顺序表中,然后原表和新表元素同时输出到屏幕上,以便对照求解结果。

<6>求两个递增有序顺序表L1和L2中的公共元素,放入新的顺序表L3中。

2. 实验目的

1理解线性表的顺序存储结构。 ○

…… …… 余下全文

篇四 :数据结构 线性表的应用实验报告

     

课程名称____数据结构上机实验__________

实验项目______线性表的应用 ____________

实验仪器________PC___________________

    _____电子信息与通信学院___

    ________                ___

    班级/学号______                   __

学生姓名______         ___________  

…… …… 余下全文

篇五 :线性表实验报告

数 据 结 构

实验报告

实验名称:___线性表_________________________

学生姓名:张鑫磊____________________________

班    级: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;
}

…… …… 余下全文

篇六 :线性表实验报告

 统计学院  

        《算法与数据结构》 实验报告

实验名称       线性表           实验室              实验日期               

…… …… 余下全文

篇七 :线性表实验报告

西安财经学院 统计学院  

        《算法与数据结构》 实验报告

 

实验名称      线性表        实验室  实验楼314教室  实验日期   2015.12.13            

…… …… 余下全文

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

南京工程学院

通信工程学院

     

课程名称       数  据  结  构             

实验项目名称    线 性 表 的 基 本 操 作                  

        实验学生班级                       

…… …… 余下全文