/****************Bubble Sort**************/
public class BubbleSorter
{
public static void Sort(int[] list)
{
int i,j;
for(i=0;i<list.Length;i++)
{
for (j = 0; j < list.Length -1-i; j++)
{
if (list[j] > list[j + 1])
{
int temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}
}
/*****************Selection Sort*************/
public class SelectionSorter
{
public static void Sort(int[] list)
{
int i, j;
for (i = 0; i < list.Length; i++)
{
for (j = i + 1; j < list.Length; j++)
{
if (list[j] < list[i])
{
int temp = list[j];
list[j] = list[i];
list[i] = temp;
}
}
}
}
}
/*************Insert Sort***********/
public class InsertSorter
{
public static void Sort(int[] list)
{
int i, j;
for (i = 1; i<list.Length; i++)
{
int temp = list[i];
j = i;
while (j >0 && list[j-1] > temp)
{
list[j] = list[j-1];
j--;
}
list[j] = temp;
}
}
}
/*************Quick Sort***************/
public class QuickSorter
{
public static void Sort(int[] list)
{
QuickSort(list, 0, list.Length-1);
}
public static void QuickSort(int[] list,int low,int high)
{
int temp = list[(low+high)/2];
int i=low,j=high;
do
{
while (i < high && list[i] < temp)
i++;
while (j > low && list[j] > temp)
j--;
if (i <= j)
{
swap(ref list[i], ref list[j]);
i++;
j--;
}
}
while (i <= j);
if (j > low)
QuickSort(list, low, j);
if (i < high)
QuickSort(list, i, high);
}
public static void swap(ref int l, ref int r)
{
int temp = l;
l = r;
r = temp;
}
}