c++实现顺序表
来源:互联网 发布:dnf额外暴击伤害算法 编辑:程序博客网 时间:2024/06/06 00:19
//c++实现顺序表#include<iostream>#include<stdlib.h>#include<assert.h>typedef int DataType;using namespace std;class SeqList{public:SeqList(size_t size=0,size_t capatity=3,DataType* pData=NULL):_size(size),_capatity(size+1){_pData=new DataType[_capatity*sizeof(DataType)]; for(DataType indx=0;indx<size;indx++){_pData[indx]=pData[indx];}}SeqList(const SeqList&s):_size(s._size),_capatity(s._capatity){_pData=new DataType[_capatity*sizeof(DataType)];for(int indx=0;indx<s._size;indx++){_pData[indx]=s._pData[indx];}} void Display(){for(int indx=0;indx<_size;indx++){cout<<_pData[indx]<<" ";}cout<<endl;}~SeqList(){delete[] _pData;_pData=NULL;}public:void Pushback(DataType data){if(_size==_capatity){Checkcapatity(_capatity*2);}_pData[_size++]=data;}void Popback(){if(--_capatity){_pData[_size--];} if(_size==0){cout<<"NULL"; }}void PushFront(DataType data){Checkcapatity(_size);for(int indx=_size-1;indx>=0;indx++){_pData[indx+1]=_pData[indx];}_pData[0]=data;_size++;}void PopFront(){if(_size<=0){cout<<"NULL";return;}else{for(int indx=0;indx<_size;indx++){_pData[indx]=_pData[indx+1];}--_size;}}void Insert(size_t pos,DataType data){if(pos==0){Pushback(data);}else{ int end=_size;for(int indx=end-1;indx>=pos;indx--){_pData[indx+1]=_pData[indx];}}++_size;}void Erase(DataType data){int count=0;for(int indx=0;indx<_size;indx++){if(_pData[indx]==data){count++;}else{_pData[indx-count]=_pData[indx];}_size-=count;}}int Find(DataType data){for(int indx=0;indx<_size;indx++){if(_pData[indx]==data){return indx;}}return -1;}void Checkcapatity(size_t size){if(size>=_capatity){_pData=(DataType*)realloc(_pData,size*sizeof(DataType)+1);assert(_pData);_capatity=size;}}private:size_t _size;size_t _capatity;DataType* _pData;};void main(){int arr[9]={1,2,3,4,5,6,7,8,9};SeqList s1(9,10,arr);SeqList s2(s1);s1.Pushback(10);s1.Display();s2.Display();system("pause");}
阅读全文
0 0
- 【C++】实现顺序表
- 【c++】实现顺序表
- C语言实现顺序表
- 数据结构---顺序表c实现
- 顺序表c语言实现
- 顺序表的C实现
- c语言实现顺序表
- 顺序表实现-c
- 【C++】顺序表的实现
- 顺序表(C实现)
- C语言实现顺序表
- C语言实现顺序表
- C语言实现顺序表
- C语言实现顺序表
- 【C++】顺序表的实现
- C语言实现顺序表
- C语言实现顺序表
- C语言实现顺序表
- STL之序列式容器难点分析
- unity学习日记-协程
- BOOST 日期时间库 之 日期长度与日期区间 2/3
- CSU-ACM2017暑期训练3-递推与递归 Non-boring sequences
- 从数据库获取到json数据,前端用vue.js数据绑定
- c++实现顺序表
- RabbitMQ消息队列生产者和消费者
- StringBuffer
- F
- 【JAVA之三】类与对象扩展.构造方法
- “转载”目录说明
- 一个简单例子讲明mysql存储过程是什么
- 《Java设计模式之适配器模式》
- 组合Problem