当前位置:
首页 > Python基础教程 >
-
C#教程之数据结构----链表的增和插入
链表方便于增和删
链表的增和插入
因为链表没有下标所以增的话需要一个类似于标签的node来指示!
代码一:(构造函数,初始化)
1 namespace 链表 2 { 3 public class Node 4 { 5 public int Data; 6 //这个就是地址 7 public Node Next; 8 // 构造函数目的就是初始化 9 public Node() 10 { 11 Data = default(int); 12 Next = null; 13 } 14 public Node(int value) 15 { 16 Data = value; 17 Next = null; 18 } 19 } 20 }
代码二:(主要的实现方法!!!重点)
1 using System; 2 namespace 链表 3 { 4 //链表都是有头部节点的 简称为头结点 头结点不参与运算 5 public class LinkList 6 { 7 private Node _head; 8 private int _count; 9 public LinkList() 10 { 11 _head = new Node(); 12 _count = 0; 13 } 14 public void AddItem(Node newNode) 15 { 16 //找到头结点 17 Node tmpNode = _head; 18 //循环找到最后结点 19 while (tmpNode.Next != null) 20 { 21 //一直下移 22 tmpNode = tmpNode.Next; 23 } 24 //将最后结点和即将插入的结点链接 25 tmpNode.Next = newNode; 26 //个数++ 27 _count++; 28 } 29 public int GetLength() 30 { 31 return _count; 32 } 33 public void Insert(int index, Node newNode) 34 { 35 if (index < 0 || index > _count) 36 { 37 Console.WriteLine("Over"); 38 return; 39 } 40 Node tmpNode = _head; 41 for (int i = 0; i < index; i++) 42 { 43 tmpNode = tmpNode.Next; 44 } 45 newNode.Next = tmpNode.Next; 46 tmpNode.Next = newNode; 47 _count++; 48 } 49 } 50 }
代码三:(实现)
1 using System; 2 namespace 链表 3 { 4 internal class Program 5 { 6 public static void Main(string[] args) 7 { 8 LinkList linkList = new LinkList(); 9 linkList.AddItem(new Node(1)); 10 linkList.AddItem(new Node(2)); 11 linkList.AddItem(new Node(3)); 12 linkList.AddItem(new Node(4)); 13 linkList.AddItem(new Node(5)); 14 linkList.Insert(1,new Node(1000)); 15 Console.WriteLine(linkList.GetLength()); 16 Console.Read(); 17 } 18 } 19 }
输出:6
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式