文章标题
2016-05-11 17:03
225 查看
输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。
输入
第一行输入整数N;;
第二行依次输入N个整数,逆序建立单链表。
输出
依次输出单链表所存放的数据。
示例输入
10
11 3 5 27 9 12 43 16 84 22
示例输出
22 84 16 43 12 9 27 5 3 11
题解:逆序建链表我的理解就是把新生成的节点插入到head节点和head->next节点之间
输入
第一行输入整数N;;
第二行依次输入N个整数,逆序建立单链表。
输出
依次输出单链表所存放的数据。
示例输入
10
11 3 5 27 9 12 43 16 84 22
示例输出
22 84 16 43 12 9 27 5 3 11
题解:逆序建链表我的理解就是把新生成的节点插入到head节点和head->next节点之间
#include<bits/stdc++.h> using namespace std; struct node { int data; struct node *next; }; int main() { int x,n,i; cin>>n; struct node *head,*tail,*p,*q; head=new struct node(); head->next=NULL; tail=head; p=new struct node(); for(i=1;i<=n;i++) { cin>>x; p->data=x; p->next=head->next;//逆序过程,仔细理解,就是一个插入的过程,head->next保存着它的下一个节点,新生成的节点p,就把head节点的下一个节点的**地址**放到p的next指针域内,然后把p节点和head节点连接在一起 head->next=p; p=new struct node(); } for(p=head->next;p!=NULL;p=p->next) { cout<<p->data<<" "; } return 0; }
相关文章推荐
- 修改WampServer默认存放网页的文件夹
- VS2015 多项目源码共享链接
- jQuery DataTables的简单实现
- Android使用Monkey的自动化测试
- varnish安装
- linux中platform与中断
- operator new和operator delete
- ceph存储 Ceph架构剖析
- nginx相关
- Android基础UI控件之Button
- 基于C语言EOF与getchar()的使用详解
- iOS开发之基础视图——UIImageView
- 冒泡排序学习心得(Java实现)
- 打印蛇形矩阵
- 弃用的异步get和post方法之Block方法
- Android基础知识之智能指针:强指针和弱指针
- 修改Mac Hosts
- apache查看已加载的modules方法
- invocationHandler动态代理的使用
- Hibernate的@TableGenerator