您的位置:首页 > 编程语言 > C语言/C++

含头结点的C++尾插法创建简单链表并输出

2017-09-23 19:11 411 查看
#include <iostream>
using namespace std;

const int N = 10;
struct Node
{
int data;
Node *next;
};
//尾插法链表创建与输出
int main()
{
int i;
Node *head, *pNew, *pEnd;//一个头结点,一个不断创建的新节点,一个始终会指向末端的尾结点
head = new Node;//给头结点分配空间
pEnd = head;/*让头结点指向刚创建的第一个节点,此时pEnd也是末节点,
刚开始同时担当头和尾,等pEnd移走时,head还是指向第一个节点,后面才好输出*/
for ( i = 0; i < N; i++ )
{
pNew = new Node;
pNew->data = i;//赋值
pEnd->next = pNew;//让pEnd指向pEnd
pEnd = pNew;/*pEnd 本来在 pNew前面,但现在pEnd在pNew上,
因为是赋地址值,原来pEnd并没有消失,下个循环pNew = new Node,
就又重新创建一个节点,反复执行*/
}
pEnd->next = nullptr;//让最后一个节点指向空

//遍历输出
Node *p = head->next;
while ( p )
{
cout << p->data;
p = p->next;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐