让你补充完整代码。代码如下,如有帮助,请帮忙采纳一下,谢谢
#include <stdio.h>
#include <stdlib.h>
typedef int DataType;
typedef struct LNode
{
DataType data;
struct LNode* next;
}LNode,*LinkedList;
//1初始化链表
LinkedList LinkedListInit()
{
LinkedList h = (LNode*) malloc(sizeof(LNode));
h->next = NULL;
return h;
}
//清空链表
void LinkedListClear(LinkedList L)
{
LinkedList p;
while(L)
{
p = L->next;
free(L);L=0;
L = p;
}
}
//5.链表的长度
int Length(LinkedList h)
{
LinkedList p = h->next;
int len=0;
while(p)
{
len++;
p = p->next;
}
return len;
}
//从单链表中查找元素,返回pos位置处的节点
LinkedList LinkedListGet(LinkedList L,int pos)
{
LinkedList p = L->next;
if(pos <1 || pos > Length(L) ) return 0;
while(--pos)
{
p = p->next;
}
return p;
}
//从单链表中查找与给定元素相同的节点位置
int LinkedListLocate(LinkedList L,DataType e)
{
LinkedList p = L->next;
int i = 1;
while(p)
{
if(p->data == e) return i;
i++;
p = p->next;
}
return 0; //没找到返回0
}
//在pos位置插入元素
LinkedList LinkedListInsert(LinkedList h,int pos,DataType e)
{
LinkedList p;
LinkedList t;
if (pos <1 || pos > Length(h))
{
return 0;
}
t = (LNode*)malloc(sizeof(LNode));
t->data = e;
p = h;
while(--pos && p)
{
p = p->next;
}
if(p)
{
t->next = p->next->next;
p->next = t;
}
return h;
}
//删除元素
LinkedList LinkedListDel(LinkedList h,DataType x)
{
LinkedList p;
LinkedList t;
p = h;
t = p->next;
while(t)
{
if(t->data == x)
{
p->next = t->next;
free(t);
t = p->next;
}else
{
p = t;
t = t->next;
}
}
return h;
}
//尾插法创建链表
LinkedList LinkedListCreate()
{
LinkedList h,p,t;
int i = 1;
h = LinkedListInit();
p=h;
for (i=1;i<=5;i++) //创建5个节点
{
t = (LinkedList)malloc(sizeof(LNode));
t->data = i;
t->next = NULL;
p->next = t;
p = t;
}
return h;
}
这都是数据结构和方法的申明,没有具体的函数实现代码
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!