数据结构学习笔记(1)---单向链表

本文详细介绍了单向链表的基本操作,包括初始化、创建、显示、查找、删除及插入节点等,并提供了具体的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构学习笔记—单向链表
  • 链表的初始化
  • 头插法创建链表
  • 尾插发创建链表
  • 链表的显示
  • 按索引值查找节点
  • 按索引值删除节点
  • 按索引值添加节点
(1)链表的初始化
void InitList(pListNode *pHead)
{
    *pHead = new ListNode;
    (*pHead)->next  = NULL;
}
(2)头插法创建链表
void HeadCreatList(pListNode pHead)
{
    int date;
    pListNode pNew = NULL;
    cout 
(3)尾插法创建链表
void TailCreatList(pListNode pHead)
{
    int date;
    pListNode pTail = NULL;
    pTail = pHead;
    cout 
#####(4)显示链表节点
void ShowList(pListNode pHead)
{
    pListNode p = pHead->next ;
    while (p)
    {
        cout 
(5)按索引值查找节点
pListNode FindByIndex(pListNode pHead,int index)
{
    pListNode p = pHead->next;
    int i = 0;
    while (p && i
(6)按索引值删除节点
void DeleteByIndex(pListNode pHead, int index)
{
    if (index == 0)
    {
        pListNode pNew = pHead->next;
        pHead->next = pHead->next->next;
        delete pNew;
        return;
    }
    pListNode pNew = FindByIndex(pHead,index-1);
    if (!pNew)
    {
        return;
    }
    pListNode de = pNew->next;
    pNew->next = pNew->next->next;
    delete de;
}
(7)按索引值添加节点
void AddByIndex(pListNode pHead, int index,int date)
{
    if (0 == index )
    {
        pListNode p = new ListNode;
        p->date = date;
        p->next = pHead->next;
        pHead->next = p;
        return;
    }
    pListNode pNew = FindByIndex(pHead, index-1);
    if (!pNew)
    {
        return;
    }
    pListNode p = new ListNode;
    p->next = NULL;
    p->date = date;
    p->next = pNew->next;
    pNew->next = p;
}
对于上面的按索引值相当于数组 ,即第一个存有有效数据的节点的索引值为0,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值