线性表——1. 顺序表(向量)
来源:互联网 发布:域普软件怎样 编辑:程序博客网 时间:2024/06/06 07:08
1. 顺序表
顺序表就是以数组存储数据,在加上一些管理数据的方法。
template <typename T>class CVector{private: T* elements; size_t mi_size; //data size size_t mi_capacity; //vector capacity}
2. 操作
2.1 访问
访问:A[i]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O(1)
2.2 插入
insert(i, item). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O(n)
for (j=n-1; j>=i; j--) A[j+1] = A[j];A[i] = item;
template <typename T>inline int CVector<T>::Insert( const size_t i_index, const T data ){if( i_index<0 || i_index>mi_capacity ){cerr<<"ERROR! <Insert()> Index out of range.\n";return XR_InvaildParam;}if( mi_size == mi_capacity )Resize(mi_capacity<<1);size_t i = mi_size;while (i > i_index){elements[i] = elements[i-1];i--;}elements[i_index] = data;mi_size++;return XR_OK;}
2.3 删除
remove(i). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O(n)
for (; i<n; i++) A[i] = A[i+1];
template <typename T>inline int CVector<T>::Delete(const size_t i_index){if( i_index<0 || i_index>=mi_size ){cerr<<"ERROR! <Delete()> Index out of range.\n";return XR_InvaildParam;}for (size_t i = i_index; i<mi_size-1; i++){elements[i] = elements[i+1];}mi_size--;return XR_OK;}
3. 应用
归并2个数组中的元素
4. 实现代码
本人仿造C++ STL vector 写了一个顺序表的存储容器
C++ STL vector解析
- 线性表——1. 顺序表(向量)
- 线性表的顺序储存结构(向量 )(一)
- 线性表—顺序表
- 线性表—顺序结构
- 线性表—顺序表-创建线性表的实现
- 数据结构——线性表及线性表顺序存储
- 2.向量Vector(线性表)
- 线性表线性(顺序)存储结构
- 线性表——顺序表
- 线性表——顺序表
- 线性表——顺序表
- 线性表——顺序表
- 线性表——顺序表
- 线性表——单链表,顺序表
- 线性表之——顺序表
- 2.线性表—顺序表
- 基础数据结构——顺序线性表
- 线性表——顺序存储结构
- 链表2
- 套接字I/O模型-完成端口IOCP
- 如何通过android的应用程序调用另一个应用程序
- VC项目配置详解及快捷键!!!
- MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法
- 线性表——1. 顺序表(向量)
- ubuntu服务器配置
- JAVA中SERIALVERSIONUID的解释
- 鬼脚七之“寒门再难出贵子”---一篇值得一读的好文章,比小说还精彩的现实故事(转载)
- c# 二维数组 行列
- Google Paly V3 Initate Connect & Query Items
- poj 1844 sum (数学)
- ora-00257:归档程序错误,在释放之前仅限于内部链接如何解决
- 这些技能你两周能不能学会,以此来检测你将来是否有潜力成为IT大神