Advertisement

设有线性表A = (a1, a2,…, an),采用单链表存储结构。设计并实现一个算法使其进行就地逆置操作。其中,“就地”要求仅使用常数额外空间

阅读量:
  1. 令指针变量 q 指向头指针 q=L;
  2. 令另一指针变量 p 指向头指针所指向节点的下一个节点 p=L->next;
  3. 启动单链表头插法 的操作流程,依次执行以下步骤:p->next=q->next; q->next=p; p=k->next;
复制代码
    void Reverser(LinkList *L){
    LinkList *p,*q;
    p=L->next; q=L;  L->next=null;
    if(p==null) exit(1);
    while(p!=null){
    	LinkList *k; 
    	k=p;
    	p->next=q->next;
    	q->next=p;
    	p=k->next;
    }
    }
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
    

初次学习C语言数据结构,还望各位不吝赐教

全部评论 (0)

还没有任何评论哟~