尾插法顺序链表
前言
记录学习的过程
题目
输入一个整数n,再输入n个整数,按照输入的顺序建立单链表,并遍历所建立的单链表,输出这些数据。
输入格式:
测试数据有多组,处理到文件尾。每组测试输入一个整数n,再输入n个整数。
输出格式:
对于每组测试,输出顺序链表中的各结点的数据域的值(数据之间留一个空格)。
输入样例:
5 1 2 3 4 5
输出样例:
1 2 3 4 5
代码
#include<bits/stdc++.h>
using namespace std;
struct Node{
int date;
Node *next;
};
Node * createByTail(int n){ //尾插法;
Node *head = new Node;
head->next = NULL;
Node *p = head;
while(n--){
Node *q =new Node;
cin>>q->date;
q->next=p->next;
p->next=q;
p=q;
}
return head;
}
void traverse(Node *head){ //遍历;
Node *p=head->next;
while(p!=NULL){
if(p!=head->next) cout<<" ";
cout<<p->date;
p=p->next;
}
cout<<endl;
}
int main(){
int n;
while(cin>>n){
Node *h = createByTail(n);
traverse(h);
}
}