/// <summary> /// Konstruktor mit DataSet Objekt als Uebergabe. Dabei wird eine echte Kopie des Array a erstellt. /// </summary> /// <param name="dataSet">Zu kopierendes DataSet Objekt.</param> public DataSet(DataSet dataSet) { this.i = dataSet.I; this.j = dataSet.J; this.n = dataSet.N; a = new int[dataSet.A.Length]; dataSet.A.CopyTo(a, 0); this.min = dataSet.Min; this.pivot = dataSet.Pivot; this.left = dataSet.Left; this.right = dataSet.Right; }
/// <summary> /// Ruft die execute Methode des _stm auf und legt nach dessen Ausfaehrung die _actStats des Algorithmus fest. /// </summary> /// <param name="a">Zu sortierende Zahlenfolge.</param> /// <param name="genLog">Bestimmt ob ein Log angelegt werden soll.</param> public void execute(int[] a, bool genLog) { _actRuntime = 0; _actStats = null; _stack.Clear(); DataSet dataSet = new DataSet(a); _stack.Push(dataSet); string error = _stm.execute(genLog); if (error != null) { _actStats = new Tuple<int, string, string>(a.Length, error, Config.RUNTIME_NA); } else { _actStats = new Tuple<int, string, string>(a.Length, "keine", _actRuntime.ToString()); } }