动态数组的实现
2016-11-23 21:05
337 查看
ArraysTest.h
#ifndef ARRAYSTEST_H_INCLUDED #define ARRAYSTEST_H_INCLUDED class ArraysTest { public: ArraysTest(int capaCity); virtual ~ArraysTest(); int getsize(int arrSize); bool isEmpty(); bool push_Back(int elements)const; int At(int i); bool insert(int i,int elements)const; int pop_Back(); bool delete1(int i); int remove1(int &elements); bool resize(); private: int A_arrSize; int A_arrCapacity; int *A_arrays; int A_Head=0; int A_Tail=0; }; #endif // ARRAYSTEST_H_INCLUDED
ArraysTest.cpp
#include "ArraysTest.h" #include <iostream> #include <stdlib.h> using namespace std; ArraysTest::ArraysTest(int capaCity) { A_arrCapacity=capaCity; A_arrays=new int[A_arrCapacity]; } ArraysTest::~ArraysTest() { delete[]=A_arrays; A_arrays=NULL; } bool ArraysTest::isEmpty() { if(A_arrSize==0) return true; else return false; } bool ArraysTest::push_Back(int elements)const { if(getSize()==capaCity) reSize(); A_arrays[A_Head]=elements; A_Head++; return true; } int ArraysTest::getsize() { return A_arrSize; } int ArraysTest::At(int i) { if(i<0||i>getSize()) cout<<"超过取值范围"<<endl; else return A_arrays[i]; } bool ArraysTest::insert(int i,int elements)const { if(i<0||i>=A_arrCapacity-1) return false; else for(int j=i;j<A_arrCapacity-2;j++) A_arrays[j+1]=A_arrays[j]; A_arrays[i]=elements; A_arrSize++; return true; } int ArraysTest::pop_Back() { int a=A_arrays[A_Head]; delete A_arrays[A_Head]; A_Head--; return a; } bool ArraysTest::delete1(int i) { if(i<0||i>=A_arrCapacity) return false; else delete A_arrays[i]; for(int j=i;j<A_arrCapacity;j++) A_arrays[j]=A_arrays[j+1]; A_arrSize--; return true; } int ArraysTest::remove1(int elements) { for(int i=0;i<A_arrSize;i++) if(A_arrays[i]==elements) { delete A_arrays[i]; for(int j=i;j<A_arrCapacity;j++) A_arrays[j]=A_arrays[j+1]; return i; } else return 0; } bool ArraysTest::resize() { if(getSize()=A_arrCapacity-1) { int *new_Array; new_Array=new int[A_arrCapacity*2]; for(int i=0;i<A_arrSize;i++) new_Array[i]=A_arrays[i]; delete[] A_arrays; for(int i=0;i<A_arrCApacity*2;i++) A_arrays[i]=new_Array[i]; A_arrCapacity=A_arrCapacity*2; return true; } return false; }
4000
相关文章推荐
- VB.NET 实现动态数组
- 用模板实现动态数组
- Python中数组 链表 元组 字典实现类Sql多字段排序和动态函数实现
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 用C++二级指针实现像C#一样的动态交错数组
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- C简单实现动态2维数组
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现,附代码)
- 链表实现动态数组C源代码
- 一个动态数组的实现.
- 纯c语言实现动态分配多维数组的方法
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)