程序对数据的表示,不但要求存放基本信息,还要表示与其它数据元素的关系线性表是最简单的数据组织形式。
下面我们来建立和遍历一个链表。
#include<iostream>
using namespace std;
//声明一个链表节点的结构体
struct node
{
int data;
node * next;
};
//创建链表
node * CreateList()
{
node*head = NULL;
node * s, *p = NULL;
s = new node;
cin >> s->data;
head = NULL;
while (s->data != 0)
{
if (head == NULL)
{
head = s;
}
else
{
p->next = s;
}
p = s;
s = new node;
cin >> s->data;
}
p->next = NULL;
delete s;
return (head);
}
//编写方法输出链表
void ListNodes(node*head)
{
node *p;
p = head;
while (p)
{
cout << p->data << "\t";
p = p->next;
}
cout << endl;
}
void main()
{
cout << "控制台输入链表节点值,输入0结束" << endl;
node*head = CreateList();//链表创建。控制台输入链表节点值,输入0结束
cout << "输出的链表为:" << endl;
ListNodes(head);//输出链表
}
结果如下: