数据结构----链表的删除和遍历(2018/10/24)

Posted future-better

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构----链表的删除和遍历(2018/10/24)相关的知识,希望对你有一定的参考价值。

构造函数的书写和具体的实现在昨天的(数据结构----链表的增和插入(2018/10/23))已经写过;

删除:

 1 public int  RemoveAt( int indexOf)
 2         {
 3             int deleteDate=default(int);
 4             if (indexOf >= _count || indexOf < 0)
 5             {
 6                 Console.WriteLine("出错!!!");
 7                 goto xt;
 8             }
 9             node temp = _head;
10             for (int i = 0; i < indexOf; i++)
11             {
12                 temp = temp.Next;
13             }
//现在temp为indexof前一个节点
14 node tibuNode = temp.Next;
//连接链,关键操作!!!!!!
15 temp.Next = temp.Next.Next;
//将下标为indexof的节点连接到null,很重要!!!!!!!
16 tibuNode.Next = null; 17 _count--; 18 return tibuNode.Date; 19 xt: 20 return deleteDate; 21 }

遍历:

 1 //定义:第一个int为下标,第二个int为节点的date 若改为泛型改第二个int为T
 2         public void ShowItem(Action<int,int> ac)
 3         {
 4             if (_count == 0)
 5             {
 6                 Console.WriteLine("null");
 7                 return;
 8             }
 9             node temp = _head;
10             for (int i = 0; i < _count; i++)
11             {              
12                 ac(i,temp.Date);
13                 temp = temp.Next;
14             }
15         }
16             //委托的方法
17         public static void Show(int m, int Date)
18         {
19             Console.WriteLine("第{0}个元素是{1}",m,Date);
20         }

 




以上是关于数据结构----链表的删除和遍历(2018/10/24)的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript单向链表的创建遍历插入删除操作

leetcode复盘:19. 删除链表的倒数第N个节点

头插法链表的基本操作:创建空链表,插入结点,遍历链表,求链表长度,查找结点,删除结点

[算法]删除链表的中间节点

Java数据结构之双向链表

数据结构——链表的基本操作