【题目】试写一算法,在带头结点单链表删除第i元素
起的所有元素。
带头结点单链表的类型定义为:
typedef struct LNode {
ElemType data;
struct LNode *next;
} LNode, *LinkList;
**********/
Status Cut_L(LinkList L, int i)
/* 在带头结点单链表L删除第i元素起的所有元素,并返回OK。*/
/* 若参数不合理,则返回ERROR。 */
- {
- LNode *q,*p;
- p=q=L;
- if(i<=0)
- return ERROR;
- for(int length=0;length<i;length++)
- {
- q->next=p;
- p=p->next;
- if(!p)
- {
- return ERROR;
- }
- }//for end
- q->next=NULL;
- L=q;
- return OK;
- }