public OrderingEntity BubbleSort(int[] mainArray) { var entity = new OrderingEntity(); entity.NumberList = new int[mainArray.Length]; mainArray.CopyTo(entity.NumberList, 0); var time = Stopwatch.StartNew(); #region Bubble int arraySize = entity.NumberList.Length; for (int i = arraySize - 1; i >= 1; i--) { for (int j = 0; j < i; j++) { entity.Moves++; if (entity.NumberList[j] > entity.NumberList[j + 1]) { int aux = entity.NumberList[j]; entity.NumberList[j] = entity.NumberList[j + 1]; entity.NumberList[j + 1] = aux; } } } #endregion time.Stop(); entity.Time = time.ElapsedMilliseconds; return(entity); }
public frmCompareOrderings(OrderingEntity entity) { InitializeComponent(); _notOrdered = new int[entity.NumberList.Length]; entity.NumberList.CopyTo(_notOrdered, 0); }
public OrderingEntity ShellSort(int[] mainArray) { var entity = new OrderingEntity(); entity.NumberList = new int[mainArray.Length]; mainArray.CopyTo(entity.NumberList, 0); var time = Stopwatch.StartNew(); #region Shell int arraySize = entity.NumberList.Length; int j, value; int gap = 1; do { gap = 3 * gap + 1; } while (gap < arraySize); do { gap /= 3; for (int i = gap; i < arraySize; i++) { value = entity.NumberList[i]; j = i - gap; while (j >= 0 && value < entity.NumberList[j]) { entity.NumberList[j + gap] = entity.NumberList[j]; j -= gap; entity.Moves++; } entity.NumberList[j + gap] = value; entity.Moves++; } entity.Moves++; } while (gap > 1); #endregion time.Stop(); entity.Time = time.ElapsedMilliseconds; return(entity); }
private async void MergeSort() { var entity = new OrderingEntity(); entity.NumberList = new int[_notOrdered.Length]; _notOrdered.CopyTo(entity.NumberList, 0); int start = 0, end = entity.NumberList.Length - 1; var time = Stopwatch.StartNew(); await Task.Run(() => entity.Moves = _ordering.MergeSort(entity.NumberList, start, end)); time.Stop(); entity.Time = time.ElapsedMilliseconds; AlterLabelsInfo(lblMergeMoves, "text", entity.Moves.ToString()); AlterLabelsInfo(lblMergeTime, "text", entity.Time.ToString() + " ms"); }
public OrderingEntity InsertionSort(int[] mainArray) { var entity = new OrderingEntity(); entity.NumberList = new int[mainArray.Length]; mainArray.CopyTo(entity.NumberList, 0); var time = Stopwatch.StartNew(); #region Insertion if (entity.NumberList.Length <= 1) { entity.Moves = 0; entity.Time = time.ElapsedMilliseconds; return(entity); } int j, key; for (int i = 1; i < entity.NumberList.Length; i++) { j = i - 1; key = entity.NumberList[i]; entity.Moves++; while (j >= 0 && key < entity.NumberList[j]) { entity.NumberList[j + 1] = entity.NumberList[j]; j--; entity.NumberList[j + 1] = key; entity.Moves++; } } #endregion time.Stop(); entity.Time = time.ElapsedMilliseconds; return(entity); }
public OrderingEntity SelectionSort(int[] mainArray) { var entity = new OrderingEntity(); entity.NumberList = new int[mainArray.Length]; mainArray.CopyTo(entity.NumberList, 0); var time = Stopwatch.StartNew(); int minimum, aux; #region Selection for (int i = 0; i < entity.NumberList.Length - 1; i++) { minimum = i; for (int j = i; j < entity.NumberList.Length; j++) { entity.Moves++; if (entity.NumberList[j] < entity.NumberList[minimum]) { minimum = j; } } if (minimum != i) { aux = entity.NumberList[minimum]; entity.NumberList[minimum] = entity.NumberList[i]; entity.NumberList[i] = aux; entity.Moves++; } } #endregion time.Stop(); entity.Time = time.ElapsedMilliseconds; return(entity); }
public OrderingAlgorithms() { _entity = new OrderingEntity(); }