Bubble sort : Sort : Collections Data Structure C# Source Code


Custom Search

C# Source Code » Collections Data Structure » 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;
          }
        }
      }
    }
  }

           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Collections Data Structure
» Sort