c# collections linkedlist 鏈表的遍歷

其實,一般來講,遍歷鏈表,就是要遍歷鏈表的所有的節點,同時打印節點的值。但是,用foreach方法遍歷鏈表的時候,遍歷的直接是節點的值,而不是節點。這其實是c#裏面做的不順人思路的一面。語言畢竟是人開發的,只要是人,就會有各種的缺陷,會犯錯誤。雖然C#的開發者,我們認爲他不是一般的智者。但是也沒必要完全地盲目崇拜他,盡信他。

以下面的代碼塊爲示例:

/*
 * Created by SharpDevelop.
 * User: Administrator
 * Date: 2016/11/15
 * Time: 21:13
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;


namespace LinkedListDemo
{
class Program      {
		public static void Main(string[] args)
			{
			LinkedList<char> myLink = new LinkedList<char>();
			string str;
			str = "abcdefghijkl";
			foreach(char c in str)
				myLink.AddLast(c);
			
			foreach ( char mychar in myLink )//用數據類型遍歷的,而不是用節點類型遍歷的
				Console.Write(mychar);
			 Console.WriteLine();
			
			myLink.Remove('c');
			
			foreach (char mychar in myLink)//用數據類型遍歷的,而不是用節點類型遍歷的
				Console.Write(mychar);
			Console.WriteLine();

			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
			 }
	                }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章