题目:
在无头结点的动态单链表上实现线性表操作 INSERT(L, i, B),并和在带头结点的动态单链表上实现相同操作的算法进行比较。
分析:
首先我们要先初始化一个单链表,接下来要给这个单链表中添加数据元素,最后再在某一位置前插入某一数据元素
代码:
链表初始化:
#include<stdio.h>
#include<stdlib.h>
#define OK 1
typedef int Status;
typedef int ElemType;
typedef struct LNode
{
ElemType data; // 数据域
LNode *next; // 指针域
}LNode, *LinkList;
创建链表:
Status CreateList(LinkList &L, int e)
{ // 创建单链表 L
LinkList p = L;
while(p->next)
p = p->next;
LinkList temp = (LinkList)malloc(sizeof(LNode));
temp->data = e;
temp->next = NULL;
p->next = temp;
return OK;
}// CreateList
显示单链表:
Status DispList(LinkList &L)
{ //显示单链表 L
LinkList p = L->next;
int i