|
@@ -38,9 +38,22 @@ namespace SORTER
|
|
|
}
|
|
|
|
|
|
|
|
|
- void linearSelectionSort(bool? ordering)
|
|
|
+ bool writeFile(string pathCopy, int[] arraySorted)
|
|
|
{
|
|
|
- List<int> arraySorted = new List<int>();
|
|
|
+ using (StreamWriter sw = new StreamWriter(pathCopy, false))
|
|
|
+ {
|
|
|
+ for (int i = 0; i < arraySorted.Length; ++i)
|
|
|
+ {
|
|
|
+ sw.Write(arraySorted[i] + " ");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ (int[], string) linearSelectionSort(bool? ordering)
|
|
|
+ {
|
|
|
+ int[] arraySorted = new int[array.Length];
|
|
|
int[] arrayCopy = new int[array.Length];
|
|
|
|
|
|
int max = int.MinValue;
|
|
@@ -63,7 +76,7 @@ namespace SORTER
|
|
|
|
|
|
if (ordering == false)
|
|
|
{
|
|
|
- while (arraySorted.Count < arrayCopy.Length)
|
|
|
+ while (arraySorted.Length < arrayCopy.Length)
|
|
|
{
|
|
|
for (int i = 0; i < arrayCopy.Length; ++i)
|
|
|
{
|
|
@@ -74,13 +87,13 @@ namespace SORTER
|
|
|
}
|
|
|
}
|
|
|
arrayCopy[index] = 100;
|
|
|
- arraySorted.Add(max);
|
|
|
+ arraySorted.Append(max);
|
|
|
max = int.MinValue;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- while (arraySorted.Count < arrayCopy.Length)
|
|
|
+ while (arraySorted.Length < arrayCopy.Length)
|
|
|
{
|
|
|
for (int i = 0; i < arrayCopy.Length; ++i)
|
|
|
{
|
|
@@ -91,22 +104,13 @@ namespace SORTER
|
|
|
}
|
|
|
}
|
|
|
arrayCopy[index] = 100;
|
|
|
- arraySorted.Add(min);
|
|
|
+ arraySorted.Append(min);
|
|
|
min = int.MaxValue;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- using (StreamWriter sw = new StreamWriter(pathCopy, false))
|
|
|
- {
|
|
|
- for (int i = 0; i < arraySorted.Count; ++i)
|
|
|
- {
|
|
|
- sw.Write(arraySorted[i] + " ");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
linearTime.Stop();
|
|
|
-
|
|
|
- arraySorted.Clear();
|
|
|
+ return (arraySorted, pathCopy);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -172,13 +176,7 @@ namespace SORTER
|
|
|
File.Copy(path, pathCopy);
|
|
|
}
|
|
|
|
|
|
- using (StreamWriter sw = new StreamWriter(pathCopy, false))
|
|
|
- {
|
|
|
- for (int i = 0; i < arrayCopy.Length; ++i)
|
|
|
- {
|
|
|
- sw.Write(arrayCopy[i] + " ");
|
|
|
- }
|
|
|
- }
|
|
|
+ writeFile(pathCopy, arrayCopy);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -236,13 +234,7 @@ namespace SORTER
|
|
|
File.Copy(path, pathCopy);
|
|
|
}
|
|
|
|
|
|
- using (StreamWriter sw = new StreamWriter(pathCopy, false))
|
|
|
- {
|
|
|
- for (int i = 0; i < arrayCopy.Length; ++i)
|
|
|
- {
|
|
|
- sw.Write(arrayCopy[i] + " ");
|
|
|
- }
|
|
|
- }
|
|
|
+ writeFile(pathCopy, arrayCopy);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -320,13 +312,7 @@ namespace SORTER
|
|
|
File.Copy(path, pathCopy);
|
|
|
}
|
|
|
|
|
|
- using (StreamWriter sw = new StreamWriter(pathCopy, false))
|
|
|
- {
|
|
|
- for (int i = 0; i < arrayCopy.Length; ++i)
|
|
|
- {
|
|
|
- sw.Write(arrayCopy[i] + " ");
|
|
|
- }
|
|
|
- }
|
|
|
+ writeFile(pathCopy, arrayCopy);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -390,13 +376,7 @@ namespace SORTER
|
|
|
File.Copy(path, pathCopy);
|
|
|
}
|
|
|
|
|
|
- using (StreamWriter sw = new StreamWriter(pathCopy, false))
|
|
|
- {
|
|
|
- for (int i = 0; i < arrayCopy.Length; ++i)
|
|
|
- {
|
|
|
- sw.Write(arrayCopy[i] + " ");
|
|
|
- }
|
|
|
- }
|
|
|
+ writeFile(pathCopy, arrayCopy);
|
|
|
}
|
|
|
|
|
|
private void SortButton_Click(object sender, RoutedEventArgs e)
|
|
@@ -409,7 +389,8 @@ namespace SORTER
|
|
|
{
|
|
|
if (LinearButton.IsChecked == true)
|
|
|
{
|
|
|
- linearSelectionSort(Ascending.IsChecked);
|
|
|
+ (int[] array, string pathCopy) = linearSelectionSort(Ascending.IsChecked);
|
|
|
+ writeFile(pathCopy, array);
|
|
|
}
|
|
|
else if (minMaxButton.IsChecked == true)
|
|
|
{
|