Advertisement

单链表逆置: 空间复杂度 O(1)

阅读量:

带头结点单链表逆置方法

以链表(包含头结点)的第一个数据节点为起点,采用头插法重新构建链表,使各节点依次连接至头结点之后

复制代码
    //单链表结点结构
    typedef struct LNode
    {
    	int data;
    	struct LNode* next;
    }LNode;
    
    
      
      
      
      
      
      
    
复制代码
    void Inversion(LNode* head)
    {
    	LNode* phead=head->next;
    	LNode* q;
    	head->next=NULL;  //头结点next指针置空
    	while(phead!=NULL)
    	{
    		q=phead->next;
    		//利用phead头插法重新建表
    		phead->next=head->next;
    		head->next=phead;
    		phead=q;
    	}
    }
    
    
    
      
      
      
      
      
      
      
      
      
      

全部评论 (0)

还没有任何评论哟~