数据结构,单链表后插法 C++
#include
using namespace std;
#include
#define ok 1
#define error 0
typedef int ElemType;
typedef int status;//单链表的存储结构
typedef struct LNode{ElemType data;//结点的数据域 struct LNode *next; //结点的指针域
}LNode,*LinkList; //定义结构体变量。这俩实际上一样都是变量
//就是*LinkList定义变量的时候 比如说指针,不用带*//单链表的初始化
status InitList(LinkList &L){L=new LNode;//生成新节点作为头结点,用头指针指向头结点L->next=NULL;return ok;
} //前插法创建单链表LinkList CreateList_R(LinkList &L,int n){LinkList p;L=new LNode;L->next=NULL;//先建立一个带头结点的空链表 //采用头指针的思想,弄个尾指针LinkList r;r=L;//尾指针指向头结点 for(int i=0;i<n;i++){p=new LNode;cin>>p->data;p->next=NULL;r->next=p; //将新结点*p插入尾结点之后 r=p;//将最后一个结点作为新的尾结点 }} void print(LinkList L){LinkList p;for(p=L->next;p;p=p->next){cout<<p->data<<endl; }}int main(){LinkList L,q;InitList(L);CreateList_R(L,5);print(L);return 0; }

可见后插法顺序与输入顺序一致
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
