精华内容
下载资源
问答
  • 单链表的逆置

    2017-05-16 11:27:06
    单链表的逆置
    /*单链表的逆置*/
    #include<stdio.h>
    typedef struct node
    {
        int data;
        struct node *next;
    }Linknode,*Linklist;
    Linklist creat()
    /*创建链表*/
    {
        Linklist Head;
        Linknode *End,*New;
        Head=(Linklist) malloc(sizeof(Linknode));
        End=New=Head;
        int x;
        scanf("%d",&x);
        while(x!=0)
        {
            New=(Linklist) malloc(sizeof(Linknode));
            New->data=x;
            End->next=New;
            End=New;
            scanf("%d",&x);
        }
        End->next=NULL;
        return Head;
    }
    void output(Linklist L)
    /*输出链表*/
    {
        Linknode *p;
        p=L->next;
        while(p!=NULL)
        {
            printf("%d\t",p->data);
            p=p->next;
        }
        printf("\n");
    }
    Linklist dz(Linklist L)
    /*链表逆置*/
    {
        Linknode *p,*q;
        p=L->next;
        L->next=NULL;
        while(p!=NULL)
        {
            q=p->next;
            p->next=L->next;
            L->next=p;
            p=q;
        }
        return q;
    }
    main()
    {
        Linklist A,B;
        A=creat();
        output(A);
        dz(A);
        output(A);
    }
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,918
精华内容 767
关键字:

单链表的逆置