有关链表问题?
#include<iostream>
using namespace std;
typedef struct node
{
int data;
struct node *next;
}SLink;
void InitLink(SLink *&s1)
{
s1=(SLink *) malloc (sizeof(SLink));
s1->next=NULL;
}
void InsElem (SLink *s1, int a[], int i)
{
int j=0;
SLink *p=s1, *s;
for( ; j<i; j++)
{
s=(SLink *)malloc(sizeof(SLink));
s->data=a[j];
s->next=NULL;
p->next=s;
p=p->next;
}
}
typedef struct Sq
{
int num;
struct Sq *prior, *nnext;
}DLink;
void InitList (DLink *&ss)
{
ss=(DLink *)malloc(sizeof(DLink));
ss->nnext=ss->prior=NULL;
}
void MergerLink(SLink *s1, SLink *s2, DLink *s)
{
SLink *p1,*q1;
DLink *dp,*lp;
lp=s;
p1=s1->next;
q1=s2->next;
for( ; p1!=NULL; )
{
for( ;q1!=NULL; )
{
if(p1->data == q1->data)
{
dp=(DLink *)malloc(sizeof(DLink));
dp->num=p1->data;
p1=p1->next;
q1=q1->next;
dp->prior=lp;
lp->nnext=dp;
dp->nnext=NULL;
lp=lp->nnext;
}
else
q1=q1->next;
}
p1=p1->next;
q1=s2->next;
}
lp->nnext=s;
s->prior=lp;
}
void SortDLink(DLink *sa)
{
DLink *rp, *rq;
rp=sa->prior;
rq=sa->nnext;
while(rp != rq)
{
int temp;
temp=rp->num;
rp->num=rq->num;
rq->num=temp;
rp=rp->prior;
rq=rq->nnext;
}
}
void main(void)
{
int b=10;
int aa[]={1,2,3,4,5,6,7,8,9,10};
int bb[]={2,3,4,5,6,7,9,11,12,13};
SLink *sl;
SLink *dl;
InitLink(sl);
InitLink(dl);
InsElem(sl,aa,b);
InsElem(dl,bb,b);
DLink *dd, *DD;
InitList(dd);
MergerLink(sl,dl,dd);
SortDLink(dd);
DD=dd;
DD=DD->nnext;
while(DD!=dd)
{
cout<<DD->num<<" ";
DD=DD->nnext;
}
}obj : error LNK2005: _main already defined in list.obj
Debug/list.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.
这个一调试就出这错误是怎么回事情啊!