关于链表的插入算法
要求实现一个插入函数,实现在链表llist中的元素x之后插入一个元素y的操作
函数接口定义:
int InsertPost_link(LinkList llist, DataType x, DataType y);
其中 llist是操作的链表,x是待插入元素y的前驱节点元素,y是待插入的元素
#include<stdio.h>
#include<stdlib.h>
typedef int DataType;
struct Node {
DataType data;
struct Node* next;
};
typedef struct Node *PNode;
typedef struct Node *LinkList;
LinkList SetNullList_Link()
{
LinkList head = (LinkList)malloc(sizeof(struct Node));
if (head != NULL) head->next = NULL;
else printf("alloc failure");
return head;
}
int IsNull_Link(LinkList llist)
{
return(llist->next == NULL);
}
void CreateList(struct Node *head)
{
PNode p = NULL; int data;
scanf("%d", &data);
while (data != -1) {
p = (struct Node*)malloc(sizeof(struct Node));
p->data = data;
p->next = head->next;
head-