woaini92887 发表于 2014-11-28 14:00:10

指针的移动问题 急!!

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个 到底那里错了???{:5_100:}

tlwangxd 发表于 2014-12-10 09:15:18

不懂
页: [1]
查看完整版本: 指针的移动问题 急!!