这个删除算法错在了哪里
typedef int Status;typedef char ElemType;
#include "status.h"
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
class SqList{
private:
ElemType *elem;
int length;
int listsize;
public:
Status DestroyList();
};
//以下是我的删除算法,前面是定义的类
Status SqList::DestroyList()
{
ElemType Head, P;
if(length) //若线性表L已存在
{
Head=*elem;
P=Head+1;
while(!P) //把链表中除头结点外的所有结点释放
{
free(Head);
Head = P;
P = Head+1;
}
free(Head);//释放头结点
return OK;
}
else
return ERROR;
}
想了好久,也没明白。。。