链表篇
数据结构(一)之链表篇

#include<stdio.h>//P77例三 

int ReversDouble(LinkList L)
{   int n=1;
	LinkList pre,p,q;
	pre=L;
	p1=L->next;
	p=L->next;

	while(p)
	{
		q=p->next;
	    if(n%2==1)
	    { 
	        pre=q;
	    	p=q;
	    	n++;
		}
		if(n%2==0)
		{
			pre->next=p->next;
		    p->next=p1;
		    L->next=p;
		    p=q;
		    n++;
		}
	}
}

在处理链表时,经常要定义一个前驱指针pre,当前指针p,下一个指针q
不要忘了每次比较完成时令p=q,因为如果对p进行操作的话,p的next域会被覆盖。

相关文章:

猜你喜欢
  • 2021-09-07
  • 2022-12-23
  • 2021-07-11
  • 2021-12-02
  • 2021-07-27
  • 2021-04-17
相关资源
相似解决方案