亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語言

C#數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的實例代碼

時間:2025-03-15 14:28:15 C語言 我要投稿
  • 相關(guān)推薦

C#數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的實例代碼

  很多人都不知道C#數(shù)據(jù)結(jié)構(gòu)中循環(huán)鏈表的代碼怎么寫,下面小編為大家整理了C#數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的實例代碼,希望能幫到大家!

  復(fù)制代碼 代碼如下:

  public class Node

  {

  public object Element;

  public Node Link;

  public Node()

  {

  Element = null;

  Link = null;

  }

  public Node(object theElement)

  {

  Element = theElement;

  Link = null;

  }

  }

  復(fù)制代碼 代碼如下:

  public class LinkedList

  {

  //頭結(jié)點

  protected Node Header;

  private int count;

  public LinkedList()

  {

  count = 0;

  Header = new Node("header");

  Header.Link = Header;

  }

  public bool IsEmpty()

  {

  return (Header.Link == null);

  }

  public void MakeEmpty()

  {

  Header.Link = null;

  }

  public void PrintList()

  {

  Node current = new Node();

  current = Header;

  while (current.Link.Element.ToString() != "header")

  {

  Console.WriteLine(current.Link.Element);

  current = current.Link;

  }

  }

  private Node FindPrevious(object n)

  {

  Node current = Header;

  while (!(current.Link == null) && current.Link.Element != n)

  {

  current = current.Link;

  }

  return current;

  }

  private Node Find(object item)

  {

  Node current = new Node();

  current = Header.Link;

  while (current.Element != item)

  {

  current = current.Link;

  }

  return current;

  }

  public void Insert(object newItem, object after)

  {

  Node current = new Node();

  Node newNode = new Node(newItem);

  current = Find(after);

  newNode.Link = current.Link;

  current.Link = newNode;

  count++;

  }

  public void Remove(object n)

  {

  Node p = FindPrevious(n);

  if (!(p.Link == null))

  {

  p.Link = p.Link.Link;

  count--;

  }

  }

  public void InsertFirst(object n)

  {

  Node current = new Node(n);

  current.Link = Header;

  Header.Link = current;

  count++;

  }

  public Node Move(int n)

  {

  Node current = Header.Link;

  Node tmp;

  for (int i = 0; i <= n; i++)

  {

  current = current.Link;

  }

  if (current.Element.ToString() == "header")

  {

  current = current.Link;

  }

  tmp = current;

  return tmp;

  }

  public Node GetFirst()

  {

  return Header;

  }

  }

【C#數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的實例代碼】相關(guān)文章:

c#實現(xiàn)輪詢算法實例代碼05-31

C#實現(xiàn)協(xié)同過濾算法的實例代碼06-19

c#實現(xiàn)sunday算法實例08-07

PHP實用的代碼實例08-12

Java for循環(huán)的寫法代碼08-01

C語言的循環(huán)鏈表和約瑟夫環(huán)09-29

學(xué)習(xí)php分頁代碼實例10-11

關(guān)于循環(huán)的java代碼示例09-26

C語言數(shù)據(jù)結(jié)構(gòu)實現(xiàn)鏈表逆序并輸出06-23