#include<stdio.h> #include<math.h> #define OK 1 #define ERROR -1 typedef int
Status; typedef int ElemType ; typedef struct Lnode{ ElemType data;
/*数据域,保存结点的值 */ struct Lnode *next; /*指针域*/ } LNode; /*结点的类型 */ void
Insert_LNode(LNode *L,int i,ElemType e) /* 在以L为头结点的单链表的第i个位置插入值为e的结点 */ { //
序号为i,索引需要i-1. int j=0; LNode *p,*q; p=L->next ; // 根据索引来执行循环次数 while ( p!=NULL&&
j<i-1) { p=p->next; j++; } if (j!=i-1) printf("i太大或i为0!!\n"); // 当索引找到了 else{
// 开辟一个新的空间 q=(LNode *)malloc(sizeof(LNode)); //
将数据存入,将前一个元素的next保存,而前一个元素的next指向插入元素 q->data=e; q->next=p->next; p->next=q; }
// return L; }