链表排序的错误:排完序没有遍历(没有输出)
插入链表的错误:①
while(p!=NULL&&i<pos-1){
p=p->pnext;
i++;
}
if(p==NULL&&i>pos-1){
return false;
}
②
if(p==NULL){
printf("内存分配失败");
exit(-1);
}
错误点:不是p=NULL,是p==NULL
③
插入:p!=NULL
删除:p->pnext!=NULL
原因:插入时可以将p指向尾结点(即在尾结点后再插入一个结点,成为新的尾结点)
删除时不能将p指向尾结点,因为尾结点后面没有可以删除的结点了,所以p最多只能指向倒数第二个结点
插入表示将新结点插在p指向的结点的后面,删除表示删除p指向的结点后面的结点(都是对p结点后面的结点进行操作)