数据链表的插入及创建
一个单链表结点由以下两个域构成:
数据域 | 指针域 |
---|---|
data | next |
其中,数据域data存放该结点的数据域的值,指针域next存放该结点的后继结点的地址信息。(本文引入一个插入值来增显效果)
#include <iostream>
using namespace std;
void insert(int a[],int & point,int x)//数据、地址、插入值
{
a[point++]=x;
};
struct node
{
int data;
struct node * next;
};//链表的创建
由于单链表可执行删除操作,为防止头结点被删除,所以得引入哨位结点。
node * Head; //哨位结点指针
接下来就可以进行数据的插入。
int a[100];
int point=0;
insert(a,point,10);
insert(a,point,20);
for(int i=0;i<point;i++)
{
cout<<a[i]<<endl;
}//数据的插入
完整的代码如下:
#include <iostream>
using namespace std;
void insert(int a[],int & point,int x)//数据、地址、插入值
{
a[point++]=x;
};
struct node
{
int data;
struct node * next;
};//链表的创建
node * Head; //哨位结点指针
int main()
{
int a[100];
int point=0;
insert(a,point,10);
insert(a,point,20);
for(int i=0;i<point;i++)
{
cout<<a[i]<<endl;
}//数据的插入
Head=new node(); // node N=new node(); Head=&N;
node N1;
N1.data=30;
N1.next=NULL;
node N2;
N2.data=40;
N2.next=NULL;
Head->next=&N1;
N1.next=&N2;
cout<<Head->next->data<<endl;
cout<<Head->next->next->data<<endl;
return 0;
}
运行结果如下:
一个简单的单链表就创建完成了。