C语言单链表代码实现
一、头文件、常量以及自定义数据结构
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef int ElemType;
typedef int Status;
#define ERROR 0
#define OK 1
二、单链表存储结构
第一个LNode为结构体名,
第三个LNode为struct LNode自定义名,
LinkList为定义LNode类型的变量,创建指向头节点的头指针。(第一次)
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
next指针指向下一个节点,也是一个LNode型结构体,
此时LNode型结构体还未声明完全,因此前面要加struct,否侧相当于调用LNode,会报错。
三、获取单链表中第i个元素的位置
L指向第一个元素,也就是头节点的位置
p为头节点的指针域,也就是第一个含有有效值的节点(首元节点)
Status GetElem_L(LinkList L,int i,ElemType &e){
LinkList p=L->next;
int j=1;
while(p