qq_31419033 2015-09-28 21:03 采纳率: 100%
浏览 2350
已采纳

C语言中单向的链表反转

node* reverse1(node * head)
{
node*p,*q,*r;
p = head;

q = head->next;

head->next = NULL;
while(q){

r = q->next;

q->next = p;

p = q;

q = r;
}

head=p;
/* while(p)
{
printf("%d ",p->num);
p=p->next;
}*/
printf("\n");
return head;

}

展开全部

  • 写回答

2条回答 默认 最新

  • qq1223386926 2015-09-28 21:33
    关注
    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct _node
    {
            int data;
            struct _node *next;
    } node;
    
    node*
    reverse1(node * head)
    {
            node*p,*q,*r;
    
            if( head != NULL )
            {
                    p = head;
                    q = head->next;
    
                    head->next = NULL;
                    while(q){
                            r = q->next;
                            q->next = p;
    
                            p = q;
                            q = r;
                    }
    
                    head=p;
            }
            return head;
    }
    
    int
    main( void )
    {
            node *link = NULL;
            node *tmp = NULL;
            int i = 0;
    
            for( i = 0; i < 5; i++ )
            {
                    tmp = malloc( sizeof( node ) );
                    if( tmp == NULL )
                            return -1;
    
                    tmp->data = i;
                    tmp->next = link;
                    link = tmp;
            }
    
            tmp = link;
            printf( "before reversal:\n" );
            while( tmp )
            {
                    printf( "%d ", tmp->data );
                    tmp = tmp->next;
            }
            putchar( '\n' );
    
            link = reverse1( link );
            printf( "after reversal:\n" );
            tmp = link;
            while( tmp )
            {
                    printf( "%d ", tmp->data );
                    tmp = tmp->next;
            }
            putchar( '\n' );
    
            return 0;
    }
    
    测了一下,应该可以使吧
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部