设为首页 加入收藏

TOP

九度_题目1518:反转链表
2015-07-20 17:36:52 来源: 作者: 【 】 浏览:3
Tags:九度 题目 1518 反转

//后插法建立链表,然后从第二个元素(若有的话)开始依次插入到头结点后面从而达到反转链表的效果

题目描述:

输入一个链表,反转链表后,输出链表的所有元素。
(hint : 请务必使用链表)
输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。
输入的第二行包含n个整数t(0<=t<=1000000):代表链表元素。
输出:
对应每个测试案例,
以此输出链表反转后的元素,如没有元素则输出NULL。
样例输入:
5
1 2 3 4 5
0
样例输出:
5 4 3 2 1
NULL
#include
  
   
#include
   
     using namespace std; typedef struct LNode { struct LNode *next ; int data; }*Linklist; Linklist CreateList(Linklist list,int n) { int num=0; Linklist p=NULL,q=NULL; p=(Linklist)malloc(sizeof(Linklist *)); list=p; p->next=NULL; for(int i=0;i
    
     >num; q->data=num; q->next=NULL; p->next=q; p=q; } return list; } Linklist DesendList(Linklist list) { Linklist p=list->next,q=p->next,s=NULL; p->next=NULL; while(q)//q指向需要插入到头结点后面的元素 { s=q; q=q->next; s->next=p; list->next=s; p=s; } return list; } void TraveseList(Linklist list) { Linklist p=list->next; if(p) { cout<
     
      data; p=p->next; } else {cout<<"NULL"<
      
       data; p=p->next; } cout<
       
        >n) { if(!n){cout<<"NULL"<
        
         
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇UVA 11853 - Paintball(dfs) 下一篇hdu5024Wang Xifeng's Little..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)