#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