注册 登录
编程论坛 数据结构与算法

链表反转输出怎么弄?

C天空 发布于 2010-04-21 10:29, 878 次点击
我初学数据结构,不大懂.求助
要求写一段链表反转输出程序...比如输入连表1 2 3 4 5,要求输出5 4 3 2 1....
3 回复
#2
mywaylgh2010-04-21 10:49
用双向链表
#3
树上月2010-04-21 12:12
可以反向输入(即前插方法):
//采用前插方法                                                   
        p=(Plist)malloc(sizeof(Node));     //申请节点部分
        p->date=number;
        p->next = 0;
        //插入部分
        p->next = ls->next;
        ls->next = p;

后插方法:
        /*//采用后插方法
        p=(Plist)malloc(sizeof(Node));     //申请节点部分
        p->date=number;
        p->next = 0;
        //插入部分
        ls->next=p;
        ls=p;*/
#4
树上月2010-04-23 12:56
通过逆置:
void InverseSinglelist(Plist &ls)
{
    Plist p=ls->next->next;
    Plist p1=ls->next;
    Plist q;
    while(p){
        q=p->next;
        p->next=ls->next;
        ls->next=p;
        p=q;
    }
    p1->next=0;

}
1