8l9839,蛇舞歌词,星河大帝 快眼看书
链表的增和插入
因为链表没有下标所以增的话需要一个类似于标签的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
linklist包含的元素为(1,1000,2,3,4,5)
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论