首页 > 其他分享 >数据结构:单链表——定义、插入、删除

数据结构:单链表——定义、插入、删除

时间:2023-12-07 18:45:42浏览次数:39  
标签:单链 return LNode int len LinkList 插入 查找 数据结构

1、查找元素

查找第i个元素

LNode *GetEleme_i(LinkList L,int i){
if(i<1){
return NULL;
}

LNode *p;
p=L;
int j=0;
while (p!=NULL && j<i)
{
p=p->next;
j++;
}
return p;

}

查找e元素的结点

LNode *GetEleme_e(LinkList &L,ElementType e){
LNode *p;
p=L;
while (p!=NULL && p->data!=e)
{
p=p->next;
}
return p;
}

这里第一个查找第i个元素的函数,可以在之前插入与删除元素中应用,这样就不需要重复多次的写复杂的代码块,只需要每次调用GetElemt_i就可以找到我们要在那个位置进行插入操作了。这样将需要多次重复使用的代码块单独拿出来写作一个函数,再有其他函数进行调用的方式叫做“封装”,这样既便于代码的编写,也利于后期维护。

2、计算链表长度

int Get_LinkList_len(LinkList &L){
LNode *p=L;
int len=0;
while (p!=NULL)
{
p=p->next;
len++;
}
return len;
}

标签:单链,return,LNode,int,len,LinkList,插入,查找,数据结构
From: https://www.cnblogs.com/humanplug/p/17883679.html

相关文章

  • 在使用openpyxl库操作带有合并单元格的Excel文件时,插入新的行或列可能会导致后面的数
    在使用openpyxl库操作带有合并单元格的Excel文件时,插入新的行或列可能会导致后面的数据错乱。这是因为openpyxl库在插入或删除行或列时,不会自动更新合并单元格的范围1。解决这个问题的一种方法是在插入新的行或列之前,先保存所有合并单元格的范围,然后在插入新的行或列之后,根据......
  • 数据结构【动态数组】
    数据结构【动态数组】在堆中申请数组空间,扩容时realloc,注意不可增删改的情况并处理即可。以下代码不一定完全正确。#include<stdio.h>#include<stdlib.h>/***声明动态数组,并提供相关的函数操作*///动态数组结构体typedefstructArray{//动态数组i......
  • SharePoint 页面中插入自定义代码
    我们都知道SharePoint是对页面进行编辑的。对于一些有编程基础的人来说,可能需要对页面中插入代码,这样才能更好的对页面进行配置。但是在新版本的SharePointmodern页面来说,虽然我们可以插入Embed组件。但是Embed组件中是不允许提供Script和Html脚本的。只能插入iFrame......
  • python 中的 collections 模块:常用数据结构和工具详解
    Python的collections模块提供了许多有用的数据结构,超越了标准的内置数据类型。这些数据结构解决了各种常见的编程问题,包括但不限于高效的容器类型、特定目的的容器、默认值字典等。让我们深入了解其中的几个重要数据结构和工具。1.defaultdict:带有默认值的字典defaultdict是d......
  • 【数据结构】线段树 (二) 学习笔记
    线段树(二)点击查看:线段树(一)学习笔记本文介绍权值线段树与动态开点线段树,(可能后面还会加线段树合并等等)。权值线段树线段树的动态开点线段树合并推荐题目&&参考资料&&拓展阅读《算法竞赛进阶指南》0x43线段树P3870 [TJOI2009]开关P1438 无聊的数列P1253 扶苏的问......
  • 【数据结构和算法】搜索算法
    ①搜索最小值python的min函数返回列表中的最小项1defindexOfMin(lyst):2minIndex=03currentIndex=14whilecurrentIndex<len(lyst):5iflyst[currentIndex]<lyst[minIndex]:6minIndex=currentIndex7currentI......
  • 博客园插入公式的方法
    第一:设置-> 页首Html代码,加入如下代码<scriptsrc="http://latex.codecogs.com/latex.js"type="text/javascript"></script> 第二:选项->将启用数学公式支持勾选第三:打开在线LaTex公式编辑器https://www.codecogs.com/latex/eqneditor.php 第四:复制网页中的......
  • 【数据结构和算法】排序算法
    使用swap函数来交换列表中的两项的位置1defswap(lyst,i,j):2'''交换列表中两项的位置'''3temp=lyst[i]4lyst[i]=lyst[j]5lyst[j]=temp①选择排序处于列表第一项,先找到最小项的位置,如果该位置不是列表的第一项,算法会交换这两个位置的项,然后......
  • VUE 输入框实现光标插入,设置光标位置并删除光标内容
    参考https://blog.csdn.net/m0_62333895/article/details/127648295自己写的例子constcursorPosition=ref("");consthandleFocus=(event:any)=>{cursorPosition.value=event.srcElement.selectionStart;console.log("cursorPosition.value......
  • 2023/12/5日 学习Java数据结构
    今日学习了单链表和一部分的双向链表,还有一个月的时间就要期末考试了,但是我的数据结构还是一点也不会,只能抓紧学了packagecom.ityuhao;importjavax.swing.*;publicclassLinkList{//头节点privateNodehead;//链表长度publicintlength;//创......