单链表习题整理(六)

题目

已知有一个单项循环链表,其每个结点含三个域:prior,data和next,其中data为数据域,next为指向后继结点的指针域,prior也为指针域,但它的值为空,试编写算法将此单向循环链表改为双向循环链表,即使prior称为指向前驱结点的指针域

思想

循环单链表使其每个结点的prior指向上一个结点即可

代码

Struct LinkList* T(sturct LinkList *head)
{
	Struct LinkList *p,*q;
	p=head->next;
	q=head;
	while(p!=head)
	{
		p->prior=q;
		p=p->next;
		q=q->next;
	}
	head->prior=p;
	return head;
}
发布了73 篇原创文章 · 获赞 20 · 访问量 4478

猜你喜欢

转载自blog.csdn.net/lzl980111/article/details/102942092