当前位置: 移动技术网 > IT编程>开发语言>.net > 数据结构----链表的增和插入(2018/10/23)

数据结构----链表的增和插入(2018/10/23)

2018年10月24日  | 移动技术网IT编程  | 我要评论

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)

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网