链表即为使用链式存储的一种数据结构
其基本原型为
typedef struct Node
{
ElemType data;//数据域
struct Node*next;//指针域
}Node;
typedef struct Node *LinkList;
使用数组当链表
const int N=100010;
int en[N]; //指针域
int e[N]; //数据域
int head; //头指针
int index; //当前地址
//初始化
void init()
{
head=-1;
index =0;
}
//头插法
void add_to_head(int x)
{
e[index]=x; //在新的节点上添加新数据
en[index]=en[head]; //新节点上的next指针指向头节点的next指针
head=indx++; //头指针指向当前的地址
}
//删除k位置上的后一个节点
void remove(int k)
{
if(k==0)
en[k]=en[en[k]];
}
// 插入一个数
void add(int k,int x)
{
e[index]=x;
ea[index]=ea[k];
ea[k]=index++;
}
遍历方式
for(int i=head;i!=-1;i=ea[i])