⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptrarray.cpp

📁 这是一个可以检索大量数据的程序
💻 CPP
字号:
// PtrArray.cpp: implementation of the mPtrArray class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"

#include "EggCilcle.h"
#include "PtrArray.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

mPtrArray::mPtrArray()
{
	buf=0;
	size=0;
}

mPtrArray::~mPtrArray()
{
	if(size)delete[]buf;
}

void mPtrArray::InsetPtr(int posi,void *vpt)
{
	int i,j;
	if(posi<=0)i=1;
	else if(posi>size+1)i=size+1;
	else i=posi;
	void **nbuf=new void*[size+1];
	for(j=1;j<=size;j++)
	{
		if(j<i)*(nbuf+j-1)=*(buf+j-1);
		else *(nbuf+j)=*(buf+j-1);
	}
	*(nbuf+i-1)=vpt;
	delete[]buf;
	buf=nbuf;
	size++;
}
void mPtrArray::RemovePtr(int posi)
{
	int i=posi,j;
	if(posi<=0)return;
	if(posi>size)return;
	void**nbuf=new void*[size-1];
	for(j=1;j<size;j++)
	{
		if(j<i)*(nbuf+j-1)=*(buf+j-1);
		else *(nbuf+j-1)=*(buf+j);
	}
	delete[]buf;
	buf=nbuf;
	size--;
}

void* mPtrArray::operator[](int posi)
{
	if(posi<=0)return 0;
	else if(posi>size)return 0;
	else return *(buf+posi-1);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -