对于线性链表的个人理解:链表就是把一个个节点连接在一起就成了链表。 书上说它包含指针域和数据域。 我先随随便便写一个小链表。
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; }一个链表的输入和输出就已经完成了,感谢大佬提前教过我