第三次发博不知道用什么标题好

像是一天过了四季....附上代码

 

void Print(SList * L)      //定义一个名为Print无返回值,操作对象是链表

{

  SList * p;        //定义一个动态指针

  while(p->next!=NULL)  //遍历

  {

    printf("%d",p->data); //输出单链表(的每个结点的data域内容)

    p=p->next;     //指针后移

  }

}

int Locate(SList * L,int x )       //按值找位置

{

  int i;

  SList *p;            //定义动态指针

  while (p->next!=NULL)      //遍历

  {

    p=p->next;              //指针后移

    i++;            //计数

    if(p->data==x)       //判断是否找到与x相匹配的值

    {return i ;}          //找到并将其位置返回

    else

    {return 0;}        //未找到

  }

}

int Delet(SList * L,int i)      //删除节点

{

  SList * p,* s;        //p是动态指针,s是用于指向新节点的指针

  int j=0;

  s=(SList *)malloc(sizeof(SList ));  //创建新节点s

  while(p->!=NULL&&j<i-1)     //遍历

  {

    j++;

    p=p->next;

  }

  if(p==NULL)

  {

    return 0;

  }

  else

  {

    p->=s->next;    //断

    free(s);      //释放空间

  }

    return 1;

  }

void Destory(SList * L)    //销毁链表

{

  SList * p , * pre ;    //pre是前驱

  while(p->next != NULL)

  {

    free(pre);

    pre = p;    //后移,pre和p同时后移

    p = p - > next ;

  }

    free(pre);

}

 

 

 

posted @ 2019-04-10 01:03  18软工8班段诗媛  阅读(133)  评论(4编辑  收藏  举报