zoukankan      html  css  js  c++  java
  • 实现单链表的倒置

    指针L指向链表的哨兵节点,遍历链表,L改指向为所要求解链表的哨兵节点,遍历到当前元素时,将该元素插在哨兵节点和第一个真正节点之间,遍历结束时,于是

    就得到了反向链表。

    #include<iostream>
    
    using namespace std;
    
    typedef struct Node{
        int data;
        struct Node *next;
    }LNode,*LinkList;
    
    LNode *Create_LinkList()//创建链表
    {
         LinkList L;
      LNode *s,*r;
         int x;
         s=(LNode *)malloc(sizeof(LNode));
      s->next=NULL;
      L=r=s;
         while(cin>>x,x)
      {
           s=(LNode *)malloc(sizeof(LNode));
        s->data=x;
        s->next=NULL;
        if(L->next==NULL)
        {
         L->next=s;
        }
        else
        {
         r->next=s;
        }
         r=s;
      }
      return L;
    }
    
    LinkList reverse(LinkList L)//反转链表
    {
         LNode *p,*q;
      p=L->next;
      L->next=NULL;
         
         while(p)
      {
           q=p;
        p=p->next;
        q->next=L->next;
        L->next=q;
      }
      return L;
    }
    
    
    int main()
    {
          LinkList H;
       H=Create_LinkList();
          LNode *p;
       p=H->next;
       while(p)
       {
        cout<<p->data<<" ";
        p=p->next;
       }
       cout<<endl;
       LinkList S;
       S=reverse(H);
          LNode *q;
       q=S->next;
       while(q)
       {
        cout<<q->data<<" ";
        q=q->next;
       }
       cout<<endl;
       system("pause");
       return 0;
    }
  • 相关阅读:
    Design Patterns
    Interview
    ListView Optimization
    android onclick onLongClick ontouch dispatchTouchEvent onInterceptTouchEvent
    java hashcode equals
    Android res/raw vs assets
    HttpClient -- 血的教训
    How Android Draws Views
    元数据 metadata
    Git-2
  • 原文地址:https://www.cnblogs.com/yanglf/p/2747033.html
Copyright © 2011-2022 走看看