数据结构单链表(增 删 改 查)
在指定位置i之前插入元素elem;
###严老师的数据结构
#include<cstdio>
using namespace std;
#define ERROR 0;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*Lisk;
void Insert(List L,int i,int elem)
{
List p;
int j=0;
p=L;
while(p!=NULL&&j<i-1)//让指针p与位置j同步移动
{//使P指向位置i的前一个节点
j++;
p=p->next;
}
if(p==NULL||j>i-1)//判断i值是否越界
//i小于1或者i值大于length+1都为越界情况
{
return ERROR;
}
//插入元素elem
List q;
q=(List)malloc(sizeof(LNode));
q->data=elem;
q->next=p->next;
p->next=q;
}