先了解一下头结点:
头结点本身并不存在链表里面的元素信息,我们用头结点的目的是方便以后将所有元素全部找起来。
如下代码分别对应求个数,取值,查找
注意:取值的函数第二个参数是位置
查找的函数第二个参数是给定的元素值。(前提是我们知道了链表每个节点存的数据类型)
#include "LinkList.h"
///创建带有头结点的链表Init
LinkListNode *InitLinkList(void)
{
LinkListNode *pHead = NULL;
pHead = (LinkListNode*)malloc(sizeof(LinkListNode));
if(pHead)
{
pHead->pNext = NULL;
}
return pHead;
}
///求长度:求线性表中元素的个数
int getSizeLinkList(LinkListNOde *pHead) //把链表的头结点当参数给到就行,逻辑进行遍历求长度
{
int n = 0;
while(pHead->pNext)
{
n++;
pHead = pHead->pNext;
}
return n;
}
///取元素,取给定位置的元素值
//输入链表的头指针,要查找的编号,输出第i个元素的地址
//pHead:头指针,pos待查节点的序号
LinkListNode *getLinkListNode(LinkListNode *pHead,int pos)
{
int j;
LinKListNode *p;
p = pHead;
j = 0;
if(pos == 0)
{
retur