#2063. 顺序输出链表-尾插法

顺序输出链表-尾插法

题目描述

创建一个长度为n的链表,并将其顺序输出。

输入格式

第一行输入一个数字n

第二行输入n个数字

输出格式

一行输出n个数字

5
1 2 3 4 5
1 2 3 4 5

数据范围

1n1031 \le n \le 10^3

尾插法:

在插入时,新的结点插入到当前链表的表尾,为此必须增加一个尾指针r,使其始终指向当前链表的尾结点。

以带头结点方式实现尾插法

node *TailInsert(int n){
	node *s;//创建空指针	
	int v; 
	int x=1;
	node *L= new node;     	//创建头结点
	L->next = NULL;
	node *r = L;//创建尾指针 
   	while(x <= n){
  		s= new node;   	    //创建新结点
  		cin >> v;
  		s->data = v;
  		r->next = s; 
 		r = s;			//核心代码
		x++;
 	}
 	r->next = NULL;
 	return L;
}

不带头结点方式实现尾插法

node *TailInsert(int n){
	node *s;//创建空指针	
	int v; 
	cin >> v; 
	int x=1;
	node *L= new node;     	//创建头结点
	L->data = v;
	L->next = NULL;
	x++;
	node *r = L;//创建尾指针 
   	while(x <= n){
  		s= new node;   	    //创建新结点
  		cin >> v;
  		s->data = v;
  		r->next = s; 
 		r = s;			//核心代码
		x++;
 	}
 	r->next = NULL;
 	return L;
}