码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构随笔

时间:2019-03-25 20:49:10      阅读:158      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!