在无头结点的动态单链表上实现线性表操作Insert(L,i,b)
单链表类型定义如下:
typedef struct LNode{
ElemType data;
struct LNode *next;
} LNode, *LinkList;
实现函数如下:
void Insert(LinkList &L, int i, ElemType b)
{
LinkList p,s,q;
int j = 0;
p = (LinkList)malloc(sizeof(LNode));
p -> next = L;
q = p;
while(j < i-1 && q){ //寻找第i-1个节点
q = q -> next;
++j;
}
if(!q || j > i-1) ;
else if(i != 1){
s = (LinkList)malloc(sizeof(LNode)); //生成新的节点
s -> data = b; //插入表中
s -> next = q -> next;
q