马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Status ListInsert_L(LinkList &L, int i, ElemType e) { // 算法2.9
// 在带头结点的单链线性表L的第i个元素之前插入元素e
LinkList p,s;
p = L;
int j = 1;
while (p && j < i) { // 寻找第i个结点
p = p->next;
++j;
}
if (!p || j > i-1) return ERROR; // i小于1或者大于表长
s = (LinkList)malloc(sizeof(LNode)); // 生成新结点
s->data = e; s->next = p->next; // 插入L中
p->next = s;
return OK;
} // LinstInsert_L
这里面的指针P 移动了4次 最后指向那呀
假如有 10个这样的结构体用单链表连接
我想撤掉i=5
按理说第一个p=L 的时候 是指向第一个 然后经过4次 指向第5个 ,那么经过p->next=p->next->next 的时候撤除的是第6个 到底那里错了??? |