首页 > 其他分享 >链表

链表

时间:2023-11-12 18:23:38浏览次数:28  
标签:next 链表 NewNode position 节点 prevNode

目录

单链表插入

InsertNode(LinkedList, position, data):

  1. 创建一个新节点NewNode,设置其数据为data
  2. 如果position为0:
    a. 将NewNode的next指向当前链表的头节点
    b. 将当前链表的头节点指向NewNode
    否则:
    a. 找到位置为position-1的节点,记为prevNode
    b. 将NewNode的next指向prevNode的next节点
    c. 将prevNode的next指向NewNode

单链表删除

DeleteNode(LinkedList, position):

  1. 如果链表为空:
    a. 返回错误,链表为空
  2. 如果position为0:
    a. 将链表的头节点指向头节点的下一个节点
    否则:
    a. 找到位置为position-1的节点,记为prevNode
    b. 如果prevNode为NULL或者prevNode的next为NULL:
    i. 返回错误,无法删除节点
    c. 将要删除的节点记为toBeDeleted,即prevNode的下一个节点
    d. 将prevNode的next指向toBeDeleted的下一个节点

C语言

在AI的帮助下完成的
照片见附件

标签:next,链表,NewNode,position,节点,prevNode
From: https://www.cnblogs.com/twilight0966/p/17827513.html

相关文章

  • 记录C语言实现的单向链表
    利用C语言实现的单向链表接口函数。#include<stdio.h>#include<stdlib.h>#include<stdbool.h>typedefvoid*OSMutex_t;//duration:-1forever;0nowait;nmillionseconds.//return0ifsuccess.staticintOSMutex_lock(OSMutex_tmutex,intdurat......
  • 链表
    单链表插入从头开始遍历列表找到第i-1个节点将指针域指向第i-1个节点的next新建节点s值为data将next指向data单链表删除从头开始遍历列表找到第i-1个节点将指针域从第i-1个节点的next指向第i+1个节点释放第i个节点的内存空间代码参考资料C语言实现单链表的创建及......
  • 数据结构入门 — 链表详解_双向链表
    前言数据结构入门—双向链表详解*关注博主,后期持续更新系列文章文章末尾有源码*****感谢观看,希望对你有所帮助*****系列文章第一篇:数据结构入门—链表详解_单链表第二篇:数据结构入门—链表详解_双向链表第三篇:数据结构入门—链表详解_循环链表文章目录前言系列文章什......
  • 利用快慢指针,求链表的中间结点,判断链表是否是环形链表
    前言(1)在学习数据结构链表部分的时候,老师给出了几个题目。其中两个题目采用了快慢指针的技术,感觉有意思,于是写一篇博客记录一下。快慢指针(1)我们先来介绍一下快慢指针技术。这个说起来其实很简单,就是龟兔赛跑问题。(2)兔子跑的比乌龟快,我们可以利用这个特性,来解决一些实际按理。求链表......
  • 链表
    链表单链表插入一个节点的伪代码算法:创建一个新节点newNode,将要插入的数据data存储在newNode中如果链表为空,则将newNode设为头节点,并将next指向NULL如果链表不为空,则将newNode插入到链表的末尾遍历链表,找到最后一个节点lastNode将lastNode的next指向newNode将newNode的n......
  • 实验:C SOCKET 多线程服务端链表分组实现聊天室
    目录......
  • [左神面试指南] 链表[下]篇
    CDxxx两个单链表相交的一系列问题⭐剑指offer链表篇JZ52两个链表的第一个公共结点剑指offer链表篇JZ23链表中环的入口结点publicNodegetIntersectNode(Nodehead1,Nodehead2){if(head1==null||head2==null)returnnull;Nodeloo......
  • 03-链表
    3.链表3.1单向链表和双向链表单项:有一个next,双向:last,next3.2删除链表的倒数第n个结点1.题目https://leetcode.cn/problems/SLwz0R/给定一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]输入:head=[1],n=1......
  • [左神面试指南] 链表[上]篇
    CD48打印两个有序链表的公共部分/*归并*/publicclassCD48_1{publicstaticclassListNode{publicintval;publicListNodenext=null;publicListNode(intval){this.val=val;}pub......
  • 2008秋-计算机软件基础-单链表练习(1)
    /*--------------------------------------------------------设有一个单链表,头结点为head,为递增有序,写一个完整程序,将其改为递减有序。----------------------------------------------------------*/#include<stdio.h>#include<stdlib.h>//定义结点structnodetype......