线性链表的建立
对于线性链表的个人理解:链表就是把一个个节点连接在一起就成了链表。
书上说它包含指针域和数据域。
我先随随便便写一个小链表。
struct node{
int data ;//数据域
node *next; //指针域
}a,b,c; 三个结点
然后在主函数里面对这三个进行初始化
int main()
{
node *p; //这个时候需要来一个结构体指针(具体这个指针叫啥我也不清楚),一会用。
a.data=1;//对节点a进行赋值
a.next=&b;
b.data=5;
b.next=&c;
c.data=3;
c.next=NULL;
p=&a;
while(1)
{
cout<<p->data<<endl;
if(p->next==NULL)
{
break;
}
else
p=p->next;
}
return 0;
}
现在开始真正开始建立链表了(带头节点)
#include <bits/stdc++.h>
using namespace std;
struct node{
int data;
node *next;
};
node *first(){ //头结点建立;
node *firstnode=new node; //为新节点分配空间
firstnode->data=-1;
firstnode->next=NULL;
return firstnode;
}
void input_list(node *address,int number){
node *newnode=new node;
newnode->data=number;
newnode->next=NULL;
address->next=newnode;
return;
}
void output_list(node *begin){
while(begin!=NULL)
{
cout<<begin->data<<endl;
begin=begin->next;
}
return;
}
int main()
{
node *begin=first();
node *list=begin;
for(int i=0;i<5;i++)
{
input_list(begin,i);
begin=begin->next;
}
output_list(list);
return 0;
}
一个链表的输入和输出就已经完成了,感谢大佬提前教过我