在一条创建好的单链表找到值为y的节点,在值为y的节点前面添加一个值为x的节点,如果不存在值为y的节点,则在尾结点后面插入值为x的节点,如果存在多个值为y的节点,则只在第一个值为y的节点前添加。
定义结构体
#include <stdio.h>//printf
#include <stdlib.h>//malloc
#include <string.h>//strlen
typedef int Elemtype; //数据元素的类型
//定义数据节点
typedef struct node
{
Elemtype data; //数据域:保存数据本身用的
struct node *next; //指针域:用来保存关系用的,保存下一个数据节点的地址
}Node;
/*
Add_A_Node:在一条创建好的单链表找到值为y的节点,在值为y的节点前面添加
一个值为x的节点如果不存在值为y的节点,则在尾结点后面插入值为x的节点,
如果存在多个值为y的节点,则只在第一个值为y的节点前添加。
@list : 要添加节点的链表
@x : 要添加的值
@y : 要在值为y的节点前添加
@return : 因为有可能插入新节点后链表的首节点会发生变换
应该要将插入节点后的链表的首节点的地址返回
*/
Node *Add_A_Node(Node *list,Elemtype x