数据结构之链表案例三

【题目】试写一算法,在带头结点单链表删除第i元素

起的所有元素。

带头结点单链表的类型定义为:

typedef struct LNode {

  ElemType      data;

  struct LNode *next;

} LNode, *LinkList;

**********/

Status Cut_L(LinkList L, int i)

/* 在带头结点单链表L删除第i元素起的所有元素,并返回OK。*/

/* 若参数不合理,则返回ERROR。                         */

  1. {
  2.         LNode *q,*p;
  3.         p=q=L;
  4.        if(i<=0)
  5.                   return ERROR;
  6.      for(int length=0;length<i;length++)
  7.      {
  8.             q->next=p;
  9.             p=p->next;
  10.            if(!p)
  11.           {
  12.                  return ERROR;
  13.          }      
  14.      }//for end
  15.      q->next=NULL;
  16.      L=q;
  17.      return OK;
  18. }

猜你喜欢

转载自blog.csdn.net/iamnotgril/article/details/82813961