c++ 实现动态顺序表(拷贝构造 赋值运算符重载等操作)
来源:互联网 发布:mac的ppt怎么调16:9 编辑:程序博客网 时间:2024/06/01 16:19
#pragma once#include<iostream>#include<malloc.h>using namespace std;typedef int DataType;class SList{public: SList() :_p(NULL), _size(0), _capcity(0) { }; SList(SList & s) { if (s._p == NULL) return; DataType *tmp = new DataType[s._size]; _p = tmp; memcpy(_p, s._p, s._size*sizeof(DataType)); _size = s._size; _capcity = _size; } SList& operator=(const SList &s) { if (&s != this) { DataType *tmp = new DataType[s._size]; memcpy(tmp, s._p,s._size); delete[]_p; _p = tmp; _size = s._size; _capcity = s._capcity; } return *this; } ~SList() { if (_p) { delete[]_p; } } void UpdateCup() { _capcity = 2 * _capcity + 3; _p = (DataType *)realloc(_p, (sizeof(DataType)*_capcity)); } void PushBack(DataType x) { if (_size >= _capcity) { UpdateCup(); } _p[_size] = x; ++_size; } void PopBack() { if (_size <= 0) return; --_size; } void PrintSlist() { for (int i = 0; i < _size; ++i) { cout << _p[i] << "->"; } cout << "NULL"<<endl; } void Insert(size_t pos,DataType x) { if (pos<0 && pos>_size) return; if (_size >= _capcity) { UpdateCup(); } ++_size; for (int i = _size; i > pos; i--) { _p[i] = _p[i - 1]; } _p[pos] = x; }private: DataType *_p; size_t _size; size_t _capcity;};
0 0
- c++ 实现动态顺序表(拷贝构造 赋值运算符重载等操作)
- c++ 实现动态顺序表(拷贝构造 赋值运算符重载等操作)
- 拷贝构造与赋值运算符重载(顺序)
- [C++]拷贝构造函数和赋值运算符重载
- C++面试题,自己实现String类的构造函数,拷贝构造函数,赋值操作符,append,replace,+运算符重载等
- 拷贝构造&&赋值运算符重载
- 拷贝构造函数/重载赋值运算符
- 什么时候需要重载拷贝构造函数(赋值运算符)!
- 模拟实现C++ string类(构造、析构、拷贝、赋值运算符重载)
- 普通构造、拷贝构造、对象赋值操作运算符重载的代码实例
- c/c++ 构造函数、拷贝构造函数、析构函数和赋值运算符重载
- 拷贝构造函数&构造函数&重载赋值运算符
- 拷贝构造函数&构造函数&重载赋值运算符
- 日期类的实现(其中包括构造函数,拷贝构造,赋值运算符重载,输出运算符重载,友元函数等等)
- C++运算符重载(2) - 拷贝构造vs赋值操作符
- 拷贝构造函数中是否可以调用重载后的赋值运算操作符
- c++ 实现双向链表构造函数,拷贝构造函数,析构函数,输出操作符重载,赋值操作符重载,头插尾插,头删尾删,任意位置插入,任意位置删除,查找等
- C++ 拷贝构造函数(即复制构造函数)和赋值运算符重载(有说赋值构造函数)区别
- mysql The InnoDB memory heap is disabled 问题决解
- (半)linux下ab网站压力测试命令
- 双向链表操作(逆置三种实现以及 冒泡排序 )
- 【c++】菱形虚拟虚拟继承模型探索
- 复杂链表的复制
- c++ 实现动态顺序表(拷贝构造 赋值运算符重载等操作)
- jBPM-4.4安装配置过程
- c++实现单链表(构造函数 拷贝函数 前插 后插 运算符重载 冒泡排序以及逆置)
- js中三种作用域详解(全局,函数,块级)
- STL系列 heap 堆-解析
- elasticsearch第二章:搭建elasticsearch2.3.3 cluster
- 从1打印到最大的n位数字(字符串模拟数字自加)
- c++ 深浅拷贝(传统写法 xain'dai'xie'fa)
- c++ 写时拷贝