动态数组的实现
来源:互联网 发布:淘宝海外直购能退货吗 编辑:程序博客网 时间:2024/05/16 07:32
ArraysTest.h
#ifndef ARRAYSTEST_H_INCLUDED#define ARRAYSTEST_H_INCLUDEDclass 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;}
0 0
- 动态数组的实现
- 动态数组的实现
- 动态数组的实现
- 动态数组实现的堆栈
- 动态数组实现的队列
- c++ 动态数组的实现
- 动态数组的 C 实现
- 实现简单的动态数组
- c++动态数组的实现
- 动态数组的实现案例
- 栈的动态数组实现
- 队列的动态数组实现
- 动态数组的实现-ArrayList
- 动态数组的实现原理(自定义动态数组)
- 实现动态数组 msdn的代码
- 一个动态多维数组的实现
- 动态二维数组的简单实现
- 链表实现动态的数组开辟!
- 在Python里安装Jieba中文分词组件
- 第16章 Channel 和Unsafe
- Java集合类
- mysql事务隔离级别
- HTML取消点击事件等一些开发技巧
- 动态数组的实现
- 自定义View的简单案例(4)实现小风车旋转的效果
- C++中二维Vector初始化的一种方式
- python基础复习之数字和字符串
- wget命令
- Android 隐藏标题栏
- c语言的自动类型转换
- 2016总结
- SpringMVC数据绑定