数据结构实验一
来源:互联网 发布:12345网络举报平台 编辑:程序博客网 时间:2024/06/09 15:42
一、实验目的
(1)掌握线性表的顺序储存结构;
(2)验证顺序表及其基本操作的实现;
(3)理解算法与程序的关系,能够将顺序表算法转换为对应的程序。
二、实验内容
(1)建立含有若干个元素的顺序表;
(2)对已建立的顺序表实现插入、删除、查找等基本操作
三、实验心得
这次实验是本学期数据结构的第一次上机实验,顺序表的实验难度不大,运用上学期已学的C++语言来实现操作,实验算得上上手。但是在调试的过程中还是有许多的小错误,我根据调试提示来更改错误,最终完成。
源代码:
#ifndef SeqList_H#define SeqList_Hconst int MaxSize=10;class SeqList{public:SeqList(){length=0;}SeqList(int a[],int n);~SeqList(){}void Insert(int i,int x);int Delete(int i);int Locate(int x);void PrintList();private:int data[MaxSize];int length;};#endif#include<iostream>using namespace std;SeqList::SeqList(int a[],int n){if(n>MaxSize)throw"参数非法";for(int i=0;i<n;i++)data[i]=a[i];length=n;}void SeqList::Insert(int i,int x){if(length>=MaxSize)throw"上溢";if(i<1||i>length+1)throw"位置非法";for(int j=length;j>=i;j--)data[j]=data[j-1];data[i-1]=x;length++;}int SeqList::Delete(int i){if(length==0)throw"下溢";if(i<1||i>length)throw"位置非法";int x=data[i-1];for(int j=i;j<length;j++)data[j-1]=data[j];length--;return x;}int SeqList::Locate(int x){for(int i=0;i<length;i++)cout<<data[i]<<" ";cout<<endl;}#include<iostream>using namespace std;void main(){int r[5]={1,2,3,4,5};SeqList L(r,5);cout<<"执行插入操作前数据为:"<<endl;L.PrintList();try{L.Insert(2,3);}catch(char *s){cout<<s<<endl;}cout<<"执行插入操作后数据为:"<<endl;L.PrintList();cout<<"值为3的元素的位置为:";cout<<L.Locate(3)<<endl;cout<<"执行删除第一个元素操作,删除前数据为:"<<endl;L.PrintList();try{L.Delete(1);}catch(char *s){cout<<s<<endl;}cout<<"删除后数据为:"<<endl;L.PrintList();}
阅读全文
0 0
- 《数据结构》实验一 实验报告
- 数据结构 实验一实验报告
- 数据结构实验一 实验报告
- 实验报告--数据结构实验一
- 数据结构实验一(实验报告)
- 《数据结构实验一》实验报告
- 数据结构实验(一)
- 《数据结构》实验一
- 数据结构实验一
- 数据结构:实验一
- 《数据结构》实验一
- 《数据结构》实验一
- 数据结构实验报告一
- 数据结构 实验一
- 数据结构实验一
- 《数据结构》实验一 续
- 《数据结构》实验一
- 数据结构实验一
- Killers in Kaggle Competition
- 字符数组总结
- Redis Cluster原理和应用
- python的浅拷贝和深拷贝
- python多条件排序
- 数据结构实验一
- Windows系统 配置Java开发环境 JDK与JRE
- 麻将开发 网狐客户端地址编辑器
- SCUT Training 20170920 Problem K
- maven 安装本地JAR包
- JVM调优总结(四)-垃圾回收面临的问题
- React Native带你从源码解决启动白屏(Android)
- 9月计划
- MINI2440裸机流水灯