לדלג לתוכן

קובץ:Array List LinkedList Queue (C sharp).svg

תוכן הדף אינו נתמך בשפות אחרות.
מתוך ויקיפדיה, האנציקלופדיה החופשית

לקובץ המקורי(קובץ SVG, הגודל המקורי: 1,000 × 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:he:Creative Commons
ייחוס שיתוף זהה
הקובץ הזה מתפרסם לפי תנאי רישיונות קריאייטיב קומונז ייחוס-שיתוף זהה 3.0 לא מותאם, 2.5 כללי, 2.0 כללי ו־1.0 כללי.
הנכם רשאים:
  • לשתף – להעתיק, להפיץ ולהעביר את העבודה
  • לערבב בין עבודות – להתאים את העבודה
תחת התנאים הבאים:
  • ייחוס – יש לתת ייחוס הולם, לתת קישור לרישיון, ולציין אם נעשו שינויים. אפשר לעשות את זה בכל צורה סבירה, אבל לא בשום צורה שמשתמע ממנה שמעניק הרישיון תומך בך או בשימוש שלך.
  • שיתוף זהה – אם תיצרו רמיקס, תשנו, או תבנו על החומר, חובה עליכם להפיץ את התרומות שלך לפי תנאי רישיון זהה או תואם למקור.
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 מוענקת בכך הרשות להעתיק, להפיץ או לשנות את המסמך הזה, לפי תנאי הרישיון לשימוש חופשי במסמכים של גנו, גרסה 1.2 או כל גרסה מאוחרת יותר שתפורסם על־ידי המוסד לתוכנה חופשית; ללא פרקים קבועים, ללא טקסט עטיפה קדמית וללא טקסט עטיפה אחורית. עותק של הרישיון כלול בפרק שכותרתו הרישיון לשימוש חופשי במסמכים של גנו.
הנכם מוזמנים לבחור את הרישיון הרצוי בעיניכם.

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

checksum אנגלית

e63bf403f66fd1df7a6d8b16b56521eb5739fbe6

הוגדר לפי: SHA-1 אנגלית

526,727 בית

698 פיקסל

1,000 פיקסל

היסטוריית הקובץ

ניתן ללחוץ על תאריך/שעה כדי לראות את הקובץ כפי שנראה באותו זמן.

תאריך/שעהתמונה ממוזערתממדיםמשתמשהערה
נוכחית08:28, 24 בפברואר 2011תמונה ממוזערת לגרסה מ־08:28, 24 בפברואר 2011‪698 × 1,000‬ (514 ק"ב)青子守歌bug fix
18:10, 23 בפברואר 2011תמונה ממוזערת לגרסה מ־18:10, 23 בפברואר 2011‪306 × 442‬ (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>

אין בוויקיפדיה דפים המשתמשים בקובץ זה.