📄 intarray.h
字号:
/******************************************************************************\
*
* 文件名: IntArray.h
* 目的: 定义IntArray类
* 使用说明: IntArray类是一个对整数数组进行操作的类。
* 在保持此程序完整性的情况下,你可以任意传播它。你也可以修改它
* 来为你服务,如果你要将此程序用于商业目的,请告知我。
*
* CopyLeft 2002 张元一
*
* CopyLeft 是自由软件基金会(FSF)推荐使用的自由软件的标志
*
\******************************************************************************/
#ifndef INTARRAY_H
#define INTARRAY_H
#include<assert.h>
#include<malloc.h>
//初始缓冲区大小
#define INTARRAY_SIZE 100
//缓冲区大小递增量
#define INTARRAY_INCRE 100
class IntArray
{
//缓冲区指针
int *Data;
//缓冲区中存储数据长度
int Length;
//缓冲区大小
int Size;
//当前位置
int Cur;
public:
IntArray()
{
Size=INTARRAY_SIZE;
Length=0;
Data=(int*)malloc(sizeof(int)*Size);
assert(Data);
}
~IntArray()
{
free(Data);
Data=0;
Length=0;
}
//清空缓冲区
void Clear(){Length=0;}
//将I插入缓冲区
void Add(int i)
{
if(Length==Size)
Inflate();
*(Data+Length)=i;
Length++;
}
//删除当前数据
void Delete(){Length--;}
//获得缓冲区中第I个整数
int Get(int i)
{
if(i<0||i==Length)
return -1;
return *(Data+i);
}
//扩大缓冲区
void Inflate()
{
int* newData;
Size+=INTARRAY_INCRE;
newData=(int*)realloc(Data,Size*sizeof(int));
assert(newData);
Data=newData;
}
//获得缓冲区中数据长度
int GetLength(){return Length;}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -