单链表的常见题型汇总(三)

2014-11-23 20:27:25 · 作者: · 浏览: 25
malloc(sizeof(struct Node)) ; if(eNode==NULL){ printf("out of space!") ; exit(-1) ; } for(;pCurrent->Next;pCurrent=pCurrent->Next) ; pCurrent->Next = eNode ; eNode->elem = e ; } void PrintList(List L) { List *pCurrent ; pCurrent = L.Next ; if(L.Next==NULL) printf("list is empty") ; else{ for(;pCurrent;pCurrent=pCurrent->Next) printf("%d->",pCurrent->elem) ; } } void Delete(int e ,List *L) { List *pCurrent,*tmp ; pCurrent = L ; while(pCurrent->Next->elem!=e&&pCurrent->Next) pCurrent = pCurrent->Next ; if(!pCurrent->Next){ printf("%d is not exit!\n",e) ; }else{ tmp = pCurrent->Next->Next ; free(pCurrent->Next) ; pCurrent->Next = tmp ; } }

输出如下:

1->3->2->4->5->

5->4->2->3->1->

3

2

L hasn't cycle

L has cycle!

the length cycle is 4

the entry is 4

乐此不疲~


Lei

scribble