码迷,mamicode.com
首页 > 其他好文 > 详细

单向链表逆序

时间:2015-09-17 11:53:35      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

之前类似的情况碰到过好多次,自己也解决过,不知怎么到了笔试的时候反而会写错。

这样给我一个编译器,一切靠它来搞定的想法还是太幼稚啊。

#include <iostream>
using namespace std;

typedef struct ListNode{  
    int data;  
    struct ListNode* next;  
}*List;  
void printList(ListNode* head);
List ReList(List head);
int main()
{
    ListNode *head,*p,*q;
    head=new ListNode;
    head->data=0;
    head->next=NULL;
    p=head;
    for (int i=1;i<10;i++)
    {
        q=new ListNode;
        q->data=i;
        q->next=NULL;
        p->next=q;
        p=q;        
    }
    printList(head);
    List back=ReList(head);
    printList(back);
    system("pause");
    return 0;
}

List ReList(List head)
{
    List next,prev=NULL;

    while(head)
    {
        next=head->next;
        head->next=prev;
        prev=head;
        head=next;
    }    
    return prev;

}

void printList(ListNode* head)
{

    while(head)
    {
        cout<<head->data<< ;
        head=head->next;
    }
    cout<<endl;

}

 

单向链表逆序

标签:

原文地址:http://www.cnblogs.com/fastcam/p/4815742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!