博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 顺序表 代码实现
阅读量:6789 次
发布时间:2019-06-26

本文共 1483 字,大约阅读时间需要 4 分钟。

 

线性表存储在计算机中可以采用多种方式,以下是按照顺序存储方式实现:

优点:查找很方便

缺点:插入元素、删除元素比较麻烦,时间复杂度 O(n)

1 #ifndef SeqList_h 2 #define SeqList_h 3 #include 
4 using namespace std; 5 const int MAXSIZE = 1000; 6 template
7 class SeqList{ 8 public: 9 SeqList(){length = 0;} //初始化10 SeqList(const T a[], int n); //初始化11 int GetLength(){
return length;} //获取长度12 void PrintList(); //打印13 void Insert(int i, T x); //插入14 T Delete(int i); //删除15 T Get(int i); //获取16 int Locate(T x); //按值查找17 private:18 int length;19 T data [MAXSIZE];20 21 };22 template
23 SeqList
::SeqList(const T a[], int n){24 if(n>MAXSIZE){25 throw "数组长度超过顺序表的最大长度";26 }27 for(int i = 0;i
33 void SeqList
::PrintList(){34 cout<<"按序号依次遍历线性表中的各个数据元素:"<
41 void SeqList
::Insert(int i, T x){42 if(length>MAXSIZE) throw "上溢异常";43 if(i<0 || i>length-1) throw "位置异常";44 for(int j = length; j>=i; j--){45 data[j] = data[j-1];46 }47 data[i-1] = x;48 length ++;49 }50 template
51 T SeqList
::Delete(int i){52 if(length == 0) throw "下溢异常";53 if(i<1 || i>length){54 throw "位置异常";55 }56 T x = data[i-1];57 for(int j = i-1;j
64 T SeqList
::Get(int i){65 if(0 == length) throw"上溢异常";66 if(i<1 || i>length){67 throw "查找位置非法";68 }69 return data[i-1];70 }71 template
72 int SeqList
::Locate(const T x){73 for(int i = 0;i

 

转载于:https://www.cnblogs.com/ycbeginner/p/9996022.html

你可能感兴趣的文章
树形数组暴力
查看>>
文件操作
查看>>
MemDc Test
查看>>
Codeforces Round #228 (Div. 1) 解题报告
查看>>
Red Hat 6.5 本地yum源的配置
查看>>
【杭电ACM】1.2.3 hide handkerchief
查看>>
linux kernel笔记
查看>>
Django配置、静态文件与路由
查看>>
Hello World
查看>>
将HG版本库推送到Git服务器
查看>>
Struts2中ValueStack结构和总结
查看>>
如何从一个传统开发团队转向敏捷开发团队
查看>>
基于Vue.js 2.0 + Vuex打造微信项目
查看>>
作业十三
查看>>
Unity3D 常用 英文单词
查看>>
Go语言标准库_输入/输出
查看>>
题目1489:计算两个矩阵的乘积
查看>>
GPU-BASED PROCEDURAL PLACEMENT IN HORIZON ZERO DAWN
查看>>
mysql中[Err] 1366 - Incorrect string value: '\xE5\x8D\x问题
查看>>
Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
查看>>