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();
 | |
|         }
 | |
|     }
 | |
| }
 |