#include<stdio.h>
#include<stdlib.h>
//节点结构体
struct Node
{
int a;
struct Node* pNext;
};
//链表头尾指针
struct Node* g_pHead = NULL;
struct Node* g_pEnd = NULL;
//创建链表,在链表中增加一个数据(尾添加)
void AddNodeToList(int a);
//查询链表指定节点
struct Node* SelectNode(int a) ;
int main(void)
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
g_pHead;
int i=0;
for(i=0;i<10;i++)
{
AddNodeToList(a[i]);
}
struct Node *pFind = SelectNode(5);//查询指定节点
if(pFind != NULL)
{
printf("%d\n",pFind->a);
}
else
{
printf("没找到\n");
}
system("pause");
return 0;
}
//查询链表指定节点
struct Node* SelectNode(int a)
{
struct Node *pTemp = g_pHead;
while(pTemp!=NULL)
{
if(a == pTemp->a)
{
return pTemp;
}
pTemp = pTemp->pNext;
}
//没找到
return NULL;
}
//创建链表,在链表中增加一个数据(尾添加)
void AddNodeToList(int a)
{
//创建一个节点
struct Node* pTemp = (struct Node*)malloc(sizeof(struct Node));
//节点数据进行赋值
pTemp->a = a;
pTemp->pNext = NULL;
//链接
if(NULL == g_pHead||NULL == g_pEnd)
{
//链表没有东西,空链表,既是头又是尾
g_pHead = pTemp;
g_pEnd = pTemp;
}
else
{
//不为空 往尾巴上添加
g_pEnd->pNext = pTemp;
//尾巴一直指向最后一个节点
g_pEnd = pTemp;
}
}
轻松学会C语言之 “尾添加” 和 “查询指定节点”
最新推荐文章于 2022-04-05 22:24:15 发布