C语言单链表
2021-01-18 10:13
标签:font 函数声明 单链表 插入 sizeof 数据查找 返回 malloc 类型 C语言单链表 标签:font 函数声明 单链表 插入 sizeof 数据查找 返回 malloc 类型 原文地址:https://www.cnblogs.com/veis/p/12913196.html1、源代码
#include "list.h"
// 1、创建头结点
Node * CreateHeadeNode(void)
{
Node *pHead = (Node *)malloc(sizeof(Node));
pHead->m_pNext = NULL;
return pHead;
}
// 2、创建新结点
Node * CreateNewNode(DATA data)
{
Node *pNew = (Node *)malloc(sizeof(Node));
pNew->m_pNext = NULL;
pNew->data = data;
return pNew;
}
// 3、头插入法插入节点
void InsertNodeByHead(Node *pHead, DATA data)
{
Node *pNew = CreateNewNode(data);
pNew->m_pNext = pHead->m_pNext;
pHead->m_pNext = pNew;
}
// 4、删除结点
void RemoveNodeByData(Node *pHead, DATA data)
{
Node *pCurNode = pHead->m_pNext;
Node *pPreNode = pHead;
while (pCurNode != NULL && pCurNode->data != data)
{
pPreNode = pCurNode;
pCurNode = pPreNode->m_pNext;
}
if (pCurNode == NULL)
return;
pPreNode->m_pNext = pCurNode->m_pNext;
free(pCurNode);
pCurNode = NULL;
}
// 5、通过数据查找结点
// 返回NULL表示没有找到
// 非NULL表示找到
Node * SearchNodeByData(Node *pHead, DATA data)
{
Node *p = pHead->m_pNext;
while (p != NULL && p->data != data)
{
p = p->m_pNext;
}
return p;
}
2、头文件
#ifndef __LIST_H__
#define __LIST_H__
#include