大家帮忙看看下列程序问题出在哪?这是数据结构中的双链结构
Source Files:
#include
#include"sh.h"
void main()
{
LinkedList XINK();
bool Insert(5,20);//第5个节点处插入20
int Delete(3);
}
Header Files:
template
struct dNode
{
T data;
dNode * next,*prior;
};
template
class LinkedList
{
private:
dNode *Head;
int curr_len;
public:
LinkedList();//申请链表空间
bool Insert(int i,T x);//在第i个节点处插入节点,节点的data为x
int Delete(T a);//删除值为a的节点
};
template LinkedList::LinkedList()
{ int x,int i=1;//记录一共多少个节点
dNode *p;
Head=new dNode;//头指针申请头节点
(*Head).prior=NULL;
p=new dNode;
do{
cin>>x;
p->data=x;
if(p->data=0)
{(*Head).next=p;
p->prior=Head;
}//规定只有data等于0的节点的前驱是Head
p->next=new dNode;
p->next->prior=p;
p=p->next;
i++;
}while(p->data!=10);//当输入的的data不等于10时,循环继续
p->next=NULL;
curr_len=i;
}
templatebool LinkedList::Insert(int i,T x)
{
int a;
dNode *p,*q;//插入的节点让它等于q
a=LinkedList();
if(i-1a+1)return false;
p=Head;//p指向头结点
q=new dNode;//新节点申请空间
q->data=x;
for(j=0;jnext;
p->prior=q->prior;
p->prior->next=q;
p->prior=q;
q->next=p;
curr_len++;//当前链表长度加1
}
templateint LinkedList::Delete(T a)
{
dNode *p;
p=Head;
for(int i=0;inext;
if(p->data==a)
{
p->prior->next=p->next;
p->next->prior=p->prior;
delete p;
}
}
}
错误信息为:fatal error C1010: unexpected end of file while looking for precompiled header directive
|