单链表的基本结构

function Node(val,next){this.val = val;this.next = next || null;
}

1.链表的创建
a.尾插法,就是正常的尾部顺序插入,从数组创建链表
function tailCreateList(aSrc){var head = new Node();pHead = head;aSrc.forEach((item) => {var node = new Node(item);pHead.next = node;pHead = node;})return head;
}

b.头插法,将后面的数据插入到头部,头结点后面,形成倒序的列表
function headCreateList(aSrc){var head = new Node();pHead = head;aSrc.forEach((item) => {var node = new Node(item);node.next = pHead.next;pHead.next = node;})return head;
}

2.链表的遍历
function traverse(head,fVisit){if(head == null){return;}var cur = head.next;while(cur){fVisit && fVisit(cur);cur = cur.next;}
}

3.链表的查找
function find(head,val){if(head == null){return;}var cur = head;while(cur && cur.val != val){cur = cur.next;}return cur;
}

4.链表的插入
function insert(head,val,newVal){if(head == null){return;}var cur = head;while(cur && cur.val != val){cur = cur.next;}if(cur){var newNode = new Node(newVal);newNode.next = cur.next;cur.next = newNode;}
}

转载于:https://www.cnblogs.com/mengff/p/6876010.html

单链表的尾插,头插,遍历,查找和插入相关推荐

  1. 146_路由器项目_附加功能:可以拿取文件内IP保存到过滤链表中,过滤IP也可以保存到txt文件,也可以终端输入IP,保存到文件【单链表的尾插、头插、删除指定节点、遍历等】】

    动图: ip_file.h: #ifndef IP_FILE_H #define IP_FILE_H #include <stdio.h> #include <string.h> ...

  2. 数据结构__头插法建立单链表、尾插法建立单链表

    单链表定义.头插法建表.尾插法建表 一.单链表的定义   单链表是线性表的链式存储,是指通过一组任意的存储单元来存储线性表中的数据元素. 单链表结构定义为: 其中data为数据域,用来存放数据:nex ...

  3. 建立单链表(尾插法)

    建立单链表有两种方法, 这里采用头插法. 尾插法含义: 该方法是从一个空表开始,读取数组的元素,生成新节点,将读取的数据放到存放在新节点的数据域中,然后将该节点插入到链表的表头上,直到结束为止. 由于 ...

  4. 建立循环单链表(尾插法)

    循环链表的操作实现算法与非循环链表的操作算法基本相同,只是对表尾的判断做了改变. 定义单链表的存储结构: typedef struct LinkList{int data;LinkList * nex ...

  5. 链表归并成递减c语言,将递增有序单链表A和B归并成表C 递减单链表的尾插法建立和输出...

    自己辛苦成果,拿出来帮助那些数据结构没学好和C语言基础差的人 #include #include typedef struct Node { int data; struct Node *next; ...

  6. 【C++】用类实现单向单链表的尾插PushBack(),尾删PopBack(),打印PrintSlist()。

    建立源文件,命名为:Slist.cpp. #include"Slist.h" int main() {Test();system("pause");return ...

  7. c语言单链表的创建(头插法和尾插法)

    概念: 单链表的建立: 头插法:元素插入在链表的头部,也叫做前插法. 尾插法:元素插入在链表的尾部,也叫做后插法. 头插法: 方法1: 步骤: 1)创建一个空链表(含头结点) 2)再创建一个需要插入的 ...

  8. 单链表的头尾插法详解

    单链表头尾插法详解 头插法构造单链表 代码实现 头插法过程 尾插法构造单链表 代码实现 尾插法过程 单链表头尾插法对比 #include "stdio.h" #include &q ...

  9. java实现单链表的建立(头插法和尾插法)

    单链表 单链表(Single Linked List): 单链表是一种链式存取的数据结构,用一组地址任意(可能连续,也可能不连续)的存储单元存放线性表中的数据元素. 链表中的数据是以结点来表示的,每个 ...

最新文章

  1. yum安装php和apache先装哪个,yum如何安装apache与php
  2. 《仙剑奇侠传》的宗教元素考察(一):赵灵儿的宿命之旅
  3. LeetCode Search in Rotated Sorted Array II -- 有重复的旋转序列搜索
  4. 我终于知道post和get的区别
  5. elasticsearch基本查询二(英文分词)term和terms查询
  6. Leetcode 刷题笔记(二十二) ——贪心算法篇之进阶题目
  7. oracle sql 字段行转列
  8. 那些年用过的机械键盘--游戏人生键盘风云#入坑keychron#
  9. query归一 同义词挖掘
  10. 使用john破解密码
  11. 分数阶的预估校正算法及实现
  12. Java+spring基于ssm的基于SSM的高校奖学金助学金管理系统
  13. 证明不同特征值的实对称矩阵的特征向量相互正交的
  14. markdownpad2 行内公式
  15. html知识点复习整理
  16. 安装cnpm淘宝镜像过程报错
  17. gyp info it worked if it ends with ok npm ERR 解决办法
  18. KafKa - 分区副本ISR选举机制
  19. 安卓屏幕朗读app_认真分享4个让你偷偷成长的宝藏App
  20. @Pointcut 使用@annotation 带参数

热门文章

  1. ubantu安装_Virtualbox-Ubantu-Anaconda 数据分析环境搭建
  2. Oracle中表pagesize,Oracle 解决显示凌乱串行问题时column、pagesize、linesize的设定
  3. MySQL concat函数使用详解
  4. 人人网,微博,QQ空间,朋友圈,常用API调用实现方法
  5. 超全面的的常用RAID详解
  6. react native 学习
  7. 网页中使用任意字体之实际操作
  8. day6-day9代码片段
  9. FTD概要图之MVC架构
  10. jQueryPager(JQuery分页插件pagination实现Ajax分页)