Исходный файл (SVG-файл, номинально 1000 × 698 пкс, размер файла: 514 КБ)

Этот файл находится на Викискладе и может использоваться другими проектами. Информация с его страницы описания приведена ниже.

Краткое описание

Описание
English: Processing time of double[](System.Array), System.Collections.Generic.List<double>, System.Collections.Generic.LinkedList<double>, System.Collections.Generic.Queue<double> on .NET Framework 4.0 with C#. See also #code.
日本語: .NET Framework 4.0のC#での、double[](System.Array), System.Collections.Generic.List<double>, System.Collections.Generic.LinkedList<double>, System.Collections.Generic.Queue<double>の処理時間の比較。コードも参照。
Дата
Источник Собственная работа
Автор aokomoriuta(青子守歌)

Лицензирование

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующих лицензий:
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Этот файл доступен на условиях лицензий Creative Commons Attribution-Share Alike 3.0 Unported, 2.5 Generic, 2.0 Generic и 1.0 Generic.
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
Creative Commons license
Creative Commons Attribution iconCreative Commons Noncommercial icon
This file is licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must attribute the work in the manner specified by the author or :licensor (but not in any way that suggests that they endorse you or your use of the work).
  • noncommercial – You may not use this work for commercial purposes.
GNU head Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.
Вы можете выбрать любую из этих лицензий.

code

using System; using System.Collections.Generic;  namespace LWisteria.List { 	/// <summary> 	/// Listの比較をするメインクラス 	/// </summary> 	static class ListMain 	{ 		/// <summary> 		/// エントリーポイント 		/// </summary> 		/// <returns></returns> 		static int Main() 		{ 			// ストップウォッチを生成 			System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();  			// 最大要素数 			int maxN = 1000000;  			Console.WriteLine("#,Array,List,LinkedList,Queue");  			 			// 要素数を2倍ずつに増やしていく 			for(double m = 10; m < maxN; m *= new System.Random().NextDouble()/2 + 1) 			{ 				// intにキャスト 				int n = (int)m;  				Console.Write("{0},", n);  				// ストップウォッチ開始 				stopwatch.Start();  				// Listを生成 				double[] array = new double[n];  				// nまで 				for(int i = 0; i < n; i++) 				{ 					// √を計算して追加 					array[i] = System.Math.Sqrt(i); 				}  				// 合計値を初期化して、全要素について 				double sumArray = 0; 				foreach(double value in array) 				{ 					// 合計する 					sumArray += value; 				} 				// ストップウォッチ停止 				stopwatch.Stop();  				// 結果出力 				Console.Write("{0},", stopwatch.ElapsedTicks); 				stopwatch.Reset();  				/*****************************************************/  				// ストップウォッチ開始 				stopwatch.Start();  				// Listを生成 				List<double> list = new List<double>();  				// nまで 				for(int i = 0; i < n; i++) 				{ 					// √を計算して追加 					list.Add(System.Math.Sqrt(i)); 				}  				// 合計値を初期化して、全要素について 				double sumList = 0; 				foreach(double value in list) 				{ 					// 合計する 					sumList += value; 				} 				// ストップウォッチ停止 				stopwatch.Stop();  				// 結果出力 				Console.Write("{0},", stopwatch.ElapsedTicks); 				stopwatch.Reset();  				/*****************************************************/  				// ストップウォッチ開始 				stopwatch.Start();  				// LinkedListを生成 				LinkedList<double> linkedList = new LinkedList<double>();  				// nまで 				for(int i = 0; i < n; i++) 				{ 					// √を計算して追加 					linkedList.AddLast(System.Math.Sqrt(i)); 				}  				// 合計値を初期化して、全要素について 				double sumLinkedList = 0; 				foreach(double value in linkedList) 				{ 					// 合計する 					sumLinkedList += value; 				} 				// ストップウォッチ停止 				stopwatch.Stop();  				// 結果出力 				Console.Write("{0},", stopwatch.ElapsedTicks); 				stopwatch.Reset();  				/*****************************************************/  				// ストップウォッチ開始 				stopwatch.Start();  				// Queueを生成 				Queue<double> queue = new Queue<double>();  				// nまで 				for(int i = 0; i < n; i++) 				{ 					// √を計算して追加 					queue.Enqueue(System.Math.Sqrt(i)); 				}  				// 合計値を初期化して、全要素について 				double sumQueue = 0; 				foreach(double value in queue) 				{ 					// 合計する 					sumQueue += value; 				} 				// ストップウォッチ停止 				stopwatch.Stop();  				// 結果出力 				Console.Write("{0},", stopwatch.ElapsedTicks); 				stopwatch.Reset();  				/*****************************************************/  				Console.WriteLine("{0}", sumArray == sumList && sumList == sumLinkedList && sumLinkedList == sumQueue); 			}  			// 終了コードを返す 			return System.Environment.ExitCode; 		} 	} } 

[Hide]

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

изображённый объект

image/svg+xml

526 727 байт

698 пиксель

1000 пиксель

История файла

Нажмите на дату/время, чтобы увидеть версию файла от того времени.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий08:28, 24 февраля 2011Миниатюра для версии от 08:28, 24 февраля 20111000 × 698 (514 КБ)青子守歌bug fix
18:10, 23 февраля 2011Миниатюра для версии от 18:10, 23 февраля 2011442 × 306 (121 КБ)青子守歌== {{int:filedesc}} == {{subst:User:青子守歌/own work|Figures| |en = Processing time of double[](System.Array), System.Collections.Generic.List<double>, System.Collections.Generic.LinkedList<double>, System.Collections.Generic.Queue<double>

Нет страниц, использующих этот файл.