C++ arraylist实现
来源:互联网 发布:淘宝访客突然少了很多 编辑:程序博客网 时间:2024/06/05 02:03
#include <iostream>using namespace std;class DynamicArray {public:DynamicArray();DynamicArray(int initSize);DynamicArray(const DynamicArray &original);~DynamicArray();void insert(int position, int value); int get(int position); int getSize();void resize(int newSize);int &operator[](int index);bool operator==(DynamicArray);bool operator!=(DynamicArray);private:int size; int *array;};DynamicArray::DynamicArray() {DynamicArray::DynamicArray(5);}DynamicArray::DynamicArray(int initSize) {size = initSize;array = new int[size];for (int i = 0; i < size; i++) {array[i] = 0; // Fill with zeroes}}DynamicArray::DynamicArray(const DynamicArray &original) {size = original.size;array = new int[size];for (int i = 0; i < size; i++) {array[i] = original.array[i];}}DynamicArray::~DynamicArray() {delete[] array;}void DynamicArray::insert(int position, int value) {array[position] = value;}int DynamicArray::get(int position) {return array[position];}int DynamicArray::getSize() {return size;}void DynamicArray::resize(int newSize) {int *temp;temp = new int[newSize];for (int i = 0; i < (newSize); i++) {temp[i] = array[i];}delete[] array;array = temp;size = newSize;}bool DynamicArray::operator==(DynamicArray a) {if (a.size != size) return false;for (int i = 0; i < (a.size); i++) {if (a[i] != array[i]) return false;}}bool DynamicArray::operator!=(DynamicArray a) {if (a.size != size) return true;for (int i = 0; i < (a.size); i++) {if (a[i] != array[i]) return true;}}int &DynamicArray::operator[](int index) {if ((index - 1) > size) {resize(index + 1);}return array[index]; // returned as a reference}int main(int argc, char **argv) {cout << "Dynamic array..." << endl;DynamicArray array = DynamicArray(4);array.insert(1, 7);array.insert(3, 2);array[2] = 4;array[10] = 4;cout << "Pole naplněno." << endl;DynamicArray array2 = DynamicArray(array);if (array == array2) {cout << "Kopírovací konstruktor a porovnávání funguje." << endl;}array[1] = 9999111;if (array != array2) {cout << "Pole jsou správně považována za nestejná." << endl;}system("pause");return 0;}
0 0
- 纯c实现ArrayList
- c语言 ---- ArrayList实现
- C 实现泛型ArrayList数组
- c语言数组实现ArrayList部分函数
- 使用C实现类似Java ArrayList数据结构
- C#-ArrayList
- C#ArrayList
- C#-ArrayList
- C#ArrayList
- ArrayList实现
- ArrayList实现
- 实现ArrayList
- ArrayList实现
- 我的C算法库[5]:实现数据结构ArrayList
- C语言实现支持多类型的ArrayList
- ArrayList 应用(C#)
- C#ArrayList简单应用
- C#--ArrayList用法
- windows远程连接Linux的两个小工具
- shoelace源代码分析,bochs调试 readkernel()函数
- Linq学习__05__查询表达式和方法查询比较
- Vector介绍
- 建个技术博客迫在眉睫
- C++ arraylist实现
- 分析kernel的initcall函数
- UltraGrid单元格放多个图片
- sicily Check if a binary tree satisfies the binary search tree property
- hdu 1142 记忆化搜索
- ADF学习笔记(一)
- Hadoop作业提交跟踪
- Redhat修改主机名及网络配置
- prophecy about automotive tech