现在的位置: 首页 > 综合 > 正文

基于C语言数据结构 一些错误

2013年12月07日 ⁄ 综合 ⁄ 共 2230字 ⁄ 字号 评论关闭
#include"stdio.h"
#include"malloc.h"
#define Maxsize 50
typedef char ElemType;
 typedef struct LNode
{
 ElemType data;
 struct LNode *next;
}LinkList;
void InitList(LinkList * &L)
{
 L=(LinkList *)malloc(sizeof(LinkList));
 L.next=NULL;
}
void GetElem(LinkList *L,int i,ElemType &e)
{
 int j=0;
 LinkList *p=L;
 while(j<i&&p!=NULL)
 {
  j++;
  p=p->next;
 }
 if(p==NULL)
  return 0;
 else
 {
  e=p->data;
  return 1;
 }
}
int LocateElem(LinkList *L,ElemType e)
{
 LinkList *p=L->next;
 int n=1;
 while(p!=NULL&&p->data!=e)
 { p=p->next;
   n++;
 }
 if(p==NULL)
  return(0);
 else
  return(n);
}
int ListInsert(LinkList *&L,int i,ElemType e)
{
 int j=0;
 LinkList *p=L,*s;
 while(j<i-1&&p!=NULL)
 {
  j++;
  p=p->next;
 }
 if(p=NULL)
  return 0;
 else
 {
  s=(LinkList *)malloc(sizeof(LinkList));
  s->data=e;
  s->next=p->next;
  p->next=e;return 1;
 }
}
int ListDelete(LinkList *&L,int i,ElemType &e)
{
 int j=0;
 LinkList *p=L,*q;
 while(j<i-1&&p!=NULL)
 {
  j++;
  p=p->next;
 }
 if(p==NULL)
  rturn 0;
 else
 {
  q=p->next;
  if(q==NULL)return 0;
  e=q->data;
  p->next=q->next;
  free(q);
  return 1;
 }
}
int ListLength(LinkList *L)
{
 LinkList *p=L;int i=0;
 while(p->next!=NULL)
 {i++;
  p=p->next;
 }
 return(i);
}
void DispList(LinkList *L)
{
 LinkList *p=L->next;
 while(p!=NULL)
 {
  printf("%d",p->data);
  p=p->next;
 }
 printf("/n");
}
extern void InitList(LinkList *&L);
extern void DestroyList(LinkList *&L);
extern int ListLength(LinkList *L);
extern void DispList(LinkList *L);
extern int LocateElem(LinkList *L,ElemType e);
extern int ListInsert(LinkList * &L,int i,ElemType e);
extern int ListDelete(LinkList * &L,int i,ElemType e);
main()
{
 LinkList *h;
 ElemType e;
 printf("(1)初始化单链表/n");
 InitList(h);
 printf("(2)依次采用尾插法插入1,2,3,4,5,6,7,8,9,10/n");
 ListInsert(h,1,'1');
 ListInsert(h,2,'2');
 ListInsert(h,3,'3');
 ListInsert(h,4,'4');
 ListInsert(h,5,'5');
 ListInsert(h,6,'6');
    ListInsert(h,7,'7');
 ListInsert(h,1,'8');
 ListInsert(h,9,'9');
 ListInsert(h,10,'10');
 GetElem(h,5,e);
 printf("(3)单链表第5元素等于=%d/n",e);
 GetElem(h,15,e);
 printf("(4)单链表第15元素等于=%d/n",e);
 printf("元素6的位置=%d/n",LocateElem(h,'6'));
 printf("元素20位置=%d/n",LocateElem(h,'20'));
 printf("删除h中数值为4的元素/n",ListDelete(h,4,e));
 printf("输出单链表长度:/n",ListLength(h));
 printf("输出单链表h:");DispList(h);
 printf("在第四个元素位置上插入100元素/n");ListInsert(h,4,'100');
 printf("输出单链表长度:/n",ListLength(h));
 printf("输出单链表h:");DispList(h);
 system("pause");
}

错误提示

1>1.c(12): error C2143: 语法错误 : 缺少“)”(在“&”的前面)
1>1.c(12): error C2143: 语法错误 : 缺少“{”(在“&”的前面)
1>1.c(12): error C2059: 语法错误:“&”
1>1.c(12): error C2059: 语法错误:“)”

原来是.c

 

抱歉!评论已关闭.