数据结构
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下
——老子
1
每日一练
1.
以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。
void reverse(pointer h)
/* h 为附加头结点指针;类型 pointer 同算法设计第 3 题*/
{ pointer p,q;
p=h->next; h->next=NULL;
while((1)________)
{q=p; p=p->next; q->next=h->next; h->next=(2)________; }
}
2. 下面是用 c 语言编写的对不带头结点的单链表进行就地逆置的算法,该算法用 L 返回逆置后的链表的
头指针,试在空缺处填入适当的语句。
void reverse(linklist &L){
p=null;q=L;
while(q!=null)
{ (1) ; q->next=p;p=q;(2)___ ; }
(3)_____;
}
正确答案
1.
(1)p!=null //链表未到尾就一直作
(2)q //将当前结点作为头结点后的第一元素结点插入
2.
(1)L=L->next; //暂存后继
(2)q=L; //待逆置结点
(3)L=p; //头指针仍为L
如果您觉得本篇文章对您有作用,请转发给更多的人,点一下好看就是对小编的最大支持!
-end-
正文完