/// <summary>
///LinkedList 的摘要说明
/// </summary>
public class LinkedList
{
public LinkedNode Head;//头结点
public LinkedList()
{
this.Head = new LinkedNode();//头节点
}
//增加结点
public void Add(LinkedNode node)
{
//找到最后一个
LinkedNode temp = this.Head;//头指针
while (temp.Link != null)
{
temp = temp.Link;//指向下一结点
}
temp.Link = node;
}
//在第i个结点前插入元素node,head是第0个元素
public void Insert(LinkedNode node, int i)
{
//保证0<i<count
LinkedNode temp = this.Head;
int j = 0;
//找到第i-1个元素
while (temp.Link != null)
{
if (j == i - 1)
{
node.Link = temp.Link;
temp.Link = node;
break;
}
temp = temp.Link;
j++;
}
}
//删除第i个结点
public void Delete(int i)
{
LinkedNode temp = this.Head;
int j = 0;
//还是要找到i-1
while (temp.Link != null)
{
if (j == i - 1)
{
temp.Link = temp.Link.Link;
break;
}
temp = temp.Link;
j++;
}
}
//获取元素个数,不包含头结点
public int GetLength()
{
int i = 0;
LinkedNode temp = this.Head;
while (temp.Link != null)
{
i++;
temp = temp.Link;
}
return i;
}
///链表结点声明
/// </summary>
public class LinkedNode
{
private object _Data;
private LinkedNode _Link;
public Object Data
{
get { return _Data; }
set { _Data = value; }
}
public LinkedNode Link
{
get { return _Link; }
set { _Link = value; }
}
public LinkedNode()
{
this._Data = null;
this._Link = null;
}
public LinkedNode(object data)
{
this._Data = data;
this._Link = null;
}
}
///LinkedList 的摘要说明
/// </summary>
public class LinkedList
{
public LinkedNode Head;//头结点
public LinkedList()
{
this.Head = new LinkedNode();//头节点
}
//增加结点
public void Add(LinkedNode node)
{
//找到最后一个
LinkedNode temp = this.Head;//头指针
while (temp.Link != null)
{
temp = temp.Link;//指向下一结点
}
temp.Link = node;
}
//在第i个结点前插入元素node,head是第0个元素
public void Insert(LinkedNode node, int i)
{
//保证0<i<count
LinkedNode temp = this.Head;
int j = 0;
//找到第i-1个元素
while (temp.Link != null)
{
if (j == i - 1)
{
node.Link = temp.Link;
temp.Link = node;
break;
}
temp = temp.Link;
j++;
}
}
//删除第i个结点
public void Delete(int i)
{
LinkedNode temp = this.Head;
int j = 0;
//还是要找到i-1
while (temp.Link != null)
{
if (j == i - 1)
{
temp.Link = temp.Link.Link;
break;
}
temp = temp.Link;
j++;
}
}
//获取元素个数,不包含头结点
public int GetLength()
{
int i = 0;
LinkedNode temp = this.Head;
while (temp.Link != null)
{
i++;
temp = temp.Link;
}
return i;
}
}
///链表结点声明
/// </summary>
public class LinkedNode
{
private object _Data;
private LinkedNode _Link;
public Object Data
{
get { return _Data; }
set { _Data = value; }
}
public LinkedNode Link
{
get { return _Link; }
set { _Link = value; }
}
public LinkedNode()
{
this._Data = null;
this._Link = null;
}
public LinkedNode(object data)
{
this._Data = data;
this._Link = null;
}
}