64,637
社区成员
发帖
与我相关
我的任务
分享
intArray::intArray(const intArray &x):arraysize(x.arraysize){
element = new int[arraysize];
memcpy(element,x.element,sizeof(int)*arraysize);
}
深拷贝intList::intList(){}//构造函数
intList::~intList(){
Node * pbuf;
while (pFirst!=NULL) {
pbuf=pFirst->next;
delete pFirst;
pFirst=pbuf;
}
}
//向链表的第i个位置插入一个元素,插入成功返回true,失败返回false
intList::bool Insert(int i, int elem) {
if (i>Length())
return false;
if (pFirst==NULL)
{
pFirst=new Node;
pFirst->data=elem;
}
else
{
Node * pbuf=pFirst, pnext;
for (int j=0; j<=i;j++)
{
if (j<=i-1)
pbuf=pbuf->next;
else if (pnext == NULL) {
pbuf->next=new Node;
pbuf->next->data = elem;
} else {
pnext=pbuf->next;
pbuf->next=new Node;
pbuf->next->next=pnext;
pbuf->next->data = elem;
}
}
}
return true;
}
//删除链表的第i个位置的元素,删除成功返回true,失败返回false
intList::bool Remove(int i, int &elem) {
if (i>Length())
return false;
Node * pbuf=pFirst, pnext;
for (int j=0; j<=i;j++)
{
if (j<=i-1)
pbuf=pbuf->next;
else {
pnext=pbuf->next;
pbuf->next=pnext->next;
delete pnext;
}
}
return true;
}
intList::int * Find(int elem)const; {
Node* pbuf=pFirst;
int buf=0;
while (pbuf!=NULL) {
if (pbuf->data==elem)
return buf;
pbuf=pbuf->next;
buf++;
}
return -1;
}
intList::int Length() const; {
int buf=0;
Node* pbuf=pFirst;
while (pbuf!=NULL) {
buf++;
pbuf=pbuf->next;
}
return buf;
}
bool intArray::Set(int i, int elem) {
if (i>=arraysize)
return false;
element[i]=elem;
return true;
}
bool intArray::Get(int i, int &elem) {
if (i>=arraysize)
return false;
elem=element[i];
return true;
}
int intArray::Length() const {
return arraysize;
}
void intArray::ReSize(int size) {
delete[] element;
element=new int[size];
arraysize=size;
}
void intArray::Print() {
// 你想怎輸出?
}
intArray::intArray(int size):arraysize(size) {
element=new int[size];
}
intArray::intArray(const intArray &x):arraysize(size) {
element=new int[size];
}
intArray::~intArray() {
delete[] element;
}
沒有賦值運算符...