标签:pre klist 逆置 node 如何 type next 相同 else
单链表逆置
代码1
1 void ReverseList(LinkList &L) 2 { 3 LNode *p; 4 LNode *q; 5 p=L->next; 6 L->next=NULL; 7 while(p!=NULL) 8 { 9 q=p->next; 10 p->next=L->next; 11 L->next=p; 12 p=q; 13 } 14 }
不懂的地方
第9到第12行是如何完成逆置的,除了这种写法还有没有其他写法能实现相同功能?
2 有序链表删除
代码2
1 void ListDelete(LinkList &L,ElemType e) 2 { 3 LinkList q=new LNode; 4 LinkList p; 5 q=L; 6 p=L->next; 7 while(p) 8 { 9 if(p->data==e) 10 { 11 q->next=p->next; 12 delete p; 13 return ; 14 } 15 p=p->next; 16 q=q->next; 17 } 18 19 q=L; 20 if(q->next==NULL) 21 { 22 return; 23 } 24 else 25 cout<<e<<"找不到!"<<endl; 26 27 }
在7到17行的循环后,q和q-next会不会指向同一个节点了
标签:pre klist 逆置 node 如何 type next 相同 else
原文地址:https://www.cnblogs.com/amema/p/10596266.html