已知一个单向链表的头指针pHead,请在包含指定数据元素值为K的结点前插入一个新结点。

typedef struct _Node {

     int data;

     struct _Node * next;

 } NODE;

NODE* insert_after_node(NODE* Head,const int K)

{

    NODE* p = Head;

    NODE* q = (NODE* )malloc(sizeof(NODE));

    NODE* s;

    if(NULL == Head)

         return NULL;

    while(p->data != K && p->next != NULL)

    {

           q=p;//q指向前一个节点

           p=p->next;//p指向当前节点

           if(p->data == K)

           {

                   s = (NODE* )malloc(sizeof(NODE));

                   q->next=s;

                   s->next=p;

           }

    }

    return Head;

}
 

猜你喜欢

转载自blog.csdn.net/u014689845/article/details/88207893