Bubble sort : Sort « Collections Data Structure « C# / C Sharp






Bubble sort

Bubble sort
  

using System;


  delegate bool Comparator(object lhs, object rhs);

  class MainEntryPoint {
    static void Main() {
      Employee [] employees = {
              new Employee("A", 20000),
              new Employee("B", 10000),
              new Employee("C", 25000),
              new Employee("D", 99999),
              new Employee("E", 23000),
              new Employee("F", 50000)};
              
      BubbleSorter.Sort(employees, new Comparator(Employee.IsGreater));

      for (int i=0 ; i<employees.Length ; i++){
        Console.WriteLine(employees[i].ToString());
      }  
    }
  }

  class Employee {
    private string name;
    private decimal salary;

    public Employee(string name, decimal salary)
    {
      this.name = name;
      this.salary = salary;
    }

    public override string ToString()
    {
      return string.Format(name + ", {0:C}", salary);
    }

    public static bool IsGreater(object a, object b)
    {
      Employee empA = (Employee) a;
      Employee empB = (Employee) b;
      return (empA.salary > empB.salary) ? true : false;
    }
  }

  class BubbleSorter
  {
    static public void Sort(object [] sortArray, Comparator gtMethod) {
      for (int i=0 ; i<sortArray.Length ; i++) {
        for (int j=i+1 ; j<sortArray.Length ; j++) {
          if (gtMethod(sortArray[j], sortArray[i])) {
            object temp = sortArray[i];
            sortArray[i] = sortArray[j];
            sortArray[j] = temp;
          }
        }
      }
    }
  }

           
         
    
  








Related examples in the same category

1.Implements the recursive merge sort algorithm to sort an arrayImplements the recursive merge sort algorithm to sort an array
2.Sorts an array of data using the insertion sort algorithmSorts an array of data using the insertion sort algorithm
3.A simple version of the QuicksortA simple version of the Quicksort
4.Demonstrate the Bubble sortDemonstrate the Bubble sort
5.Insert Sort
6.A simple stable sorting routine - far from being efficient, only for small collections.
7.Quick Sort