把自己面試時候看到的有關排序的題總結一下:
主要的有冒泡和選擇排序,其它的還有插入排序等.
protected void Page_Load(object sender, EventArgs e)
{
// Class1 a = new Class1();
//int[] a= new int[5]{1,2,3,4,5};
this.maopaoOrder();
this.selectOrder();
}
/**//// <summary>
/// /冒泡排序
/// </summary>
private void maopaoOrder()
{
//冒泡排序
int[] list = new int[5] { 111, 12, 223, 854, -5655 };//初始化數組
int i, j, temp;
for (j = 1; j < list.Length;j++ )
{
for (i = 0; i < list.Length - j; i++)
{
if (list[i] > list[i + 1])
{
temp = list[i];
list[i] = list[i + 1];
list[i + 1] = temp;
}
}
}
int ii = 0;
}
/**//// <summary>
/// 選擇排序
/// </summary>
private void selectOrder()
{
//選擇排序
int[] a = new int[5] { 111, 12, 223, 854, -5655 };//初始化數組
int min, min_k;//定義最小數,和最小數的下標
for (int i = 0; i < 5; i++)
{
min = a[i];//將當前迴圈的數設定成最小數
min_k = i;
for (int j = i + 1; j < 5; j++)
{
if (a[j] < min)
{
min = a[j];
min_k = j;
int tem = a[min_k];
a[min_k] = a[i];
a[i] = tem;
}
}
}
int ii = 0;
}