#include<iostream>
using namespace std;
#include<stdlib.h>
#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;
}
//前插法创建单链表
void CreateList_H(LinkList &L,int n){
LinkList p;
L=new LNode;
L->next=NULL;//先建立一个带头结点的空链表
for(int i=0;i<n;i++){
p=new LNode;
cin>>p->data;
p->next=L->next;L->next=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_H(L,3);
print(L);
return 0;
}
可以看出头插法的插入顺序,最后插入的位于首位。
倒序。