程序有错误,麻烦帮我修改一下?
#include "stdafx.h"#include "stdio.h"
#include "stdlib.h"
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int ElemType;
typedef int Status;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
Status GetElem_L(LinkList L,int i,ElemType &e)
{
int j=0;
LNode *p=L->next;
j=1;
while(p&&j<i)
{
p=p->next;
++j;
}
if(!p||j>i)
return ERROR;
e=p->data;
return OK;
}
Status ListInsert_L(LinkList &L,int i,ElemType e)
{
int j=0;
LNode *p=L->next;
p=L;
j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i-1)
return ERROR;
LinkList s=(LinkList)malloc(sizeof(LNode));
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}
Status ListDelete_L(LinkList &L,int i,ElemType &e)
{
int j=0;
LNode *p=L->next;
LNode *q;
int e;//编译完之后总是不能通过,提示说不能将struct LNode *' to 'int',主函数里面应该如何写代码?
p=L;
j=0;
while(p->next&&j<i-1)
{
p=p->next;
++j;
}
if(!(p->next)||j>i-1)
return ERROR;
q=p->next;
p->next=q->next;
e=q->next;
free(q);
return OK;
}
int main(int argc, char* argv[])
{
return 0;
}