25 lines
854 B
C#
25 lines
854 B
C#
namespace SortingVisualization.Algorithms {
|
|
public class Bubblesort : SortingAlgorithm {
|
|
public override string GetAlgorithmName() => "Bubblesort";
|
|
|
|
public override void Sort(ref DataSet set) {
|
|
Simulate(ref set);
|
|
System.Console.WriteLine("Doing {0}...", this.GetAlgorithmName());
|
|
int n = set.Size;
|
|
do {
|
|
int newn = 1;
|
|
for (int i = 0; i < n - 1; i++) {
|
|
if (set.GreaterThan(i, i + 1)) {
|
|
set.Swap(i, i + 1);
|
|
newn = i + 1;
|
|
}
|
|
}
|
|
n = newn;
|
|
} while (n > 1);
|
|
System.Console.WriteLine("{0} complete!", this.GetAlgorithmName());
|
|
if (!set.SimulateMode)
|
|
set.FinalizeVideo();
|
|
}
|
|
}
|
|
}
|