#define OK 1
#define ERROR 0
typedef int Status;
typedef int ElemType;
typedef struct LNode { //结点类型
ElemType data; // 数据域
struct Lnode *next; // 指针域
} LNode;
typedef LNode * LinkList; //单链表类型
Status ListInsert_L(LinkList &L, int i, ElemType e) {
// L 为不带头结点的单链表的头指针,在链表中第i 个结点之前插入新的元素 e
LNode *p = L;
int j = 1;
if(1==i)
{
s =(LNode*)malloc(sizeof(LNode)); // 生成新结点
if ( s == NULL) return ERROR;
s->data = e;
s->next = p; // 插入
L = s; // 插入
}
else{
while (p && j < i-1)
{ p = p->next; ++j; } // 寻找第 i-1 个结点
if (!p || j > i-1)
return ERROR; // i 大于表长或者小于1
s =(LNode*)malloc(sizeof(LNode)); 生成新结点
if ( s == NULL) return ERROR;
s->data = e;
s->next = p->next; // 插入
p->next = s; // 插入
}
return OK;
} // LinstInsert_L
c语言?这个忘记了