選擇排序,每一次外循環,在無序數中選擇出一個最小,並放在無序數中的第一位數組
public static void SelectSort(int[] list) //選擇排序(升序)
{
int min;//記錄最小值索引
int N = list.Length; //得到數組list的長度N
for (int i = 0; i < N - 1; i++) //外循環進行N-1輪比較
{
min = i;//假設當前索引就是最小值索引
for (int j = i; j < N ; j++) //內循環中在無序數中找最小值(j=i這裏循環從i開始,由於i以前都是有序數,不用再比較了)
{
if (list[min] > list[j])
{
min = j;
}
}
//最小值與無序數中的第一個元素交換
int t = list[min];
list[min] = list[i];
list[i] = t;
}
}dom
冒泡排序,每一次外循環,其中的最大數就下沉到當前兩兩比較數的最後一位orm
public static void BubbleSort(int[] list) //冒泡排序(升序)
{
int N = list.Length; //得到數組list的長度N
for (int i = 1; i <= N - 1; i++) //外循環進行N-1輪比較
{
for (int j = 0; j <= N - 1 - i; j++) //內循環進兩兩比較,大數下沉(‘- i’外循環循環完一次選出一個最大值放在後面,後面的就不用再比較了,)
{
if (list[j] > list[j+1]) //前一個數比後一個數大就替換當前兩個數,最後最大數就到最後一個了
{
int t = list[j];
list[j] = list[j+1];
list[j+1] = t;
}
}
}
}排序
下面就讓咱們來實現一下吧!索引
private void Form1_Load(object sender, EventArgs e) string
{ //數組排序 int[] iList = new int[5]; Random rd = new Random(); for (int i = 0; i < iList.Length; i++) { int iRD = rd.Next(1, 51); if (iList.Contains(iRD)) { i--; continue; } iList[i] = iRD; } BubbleSort(iList);it
string strWrite = ""; foreach (int i in iList) { strWrite += i + " "; } textBox1.Text = strWrite; }object