冒泡排序
//每一次冒泡都會(huì)把最大的放到最后
/* 第一次
*? 第二次? 12,? 14,? 34, 9, 23, 55, 10.5, 8, 84, 90
...
//雙循環(huán)、外層循環(huán)控制趟數(shù)欲低、內(nèi)層循環(huán)控制比較次數(shù)
//1.比較相鄰的元素盆偿,如果第一個(gè)比第二個(gè)大汉矿,那么交換位置(右邊最大)
//2.對(duì)每對(duì)相鄰的元素做相同的工作拜隧,從第一對(duì)到結(jié)尾的最后一對(duì)
//3.針對(duì)所有的元素重復(fù)以上步驟
//4.持續(xù)每次對(duì)越來(lái)越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(shù)字需要比較
//控制趟數(shù)
static void Main(string[] args)
{
double[] bArray = { 12, 90, 14, 84, 34, 9, 23, 55, 10.5, 8 };
for (int i = 0; i < bArray.Length - 1; i++)? ? ? ? ? 外層循環(huán)控制趟數(shù)
{
? ? ? ? ? ? ? ? ? ? for (int j = 0; j < bArray.Length - 1-i; j++)? ? ? ? ? 內(nèi)層循環(huán)控制比較次數(shù)
??????????????????? {
????????????????????????????????? ?if (bArray[j] > bArray[j + 1])
?????????????????????????????? ?? {
??????????????????????????????? ? double num = bArray[j];
?????????????????????????????? ??? bArray[j] = bArray[j + 1];
????????????????????????????????? bArray[j + 1] = num;
???????????????????????????????? }
????????????????? }
}
?foreach (var item in bArray)
?{?? Console.WriteLine(item);??? }
}
Test:
for (i=0,i<barray.Length-1,i++)??? //i<=barrat.Length-1-i
{
?for(j=0,j<=barray.length-1,j++)
{? if b[j]>=b[j+1]
int temp=barray[j];
barray[j]=barrat[j+1];
baart[j+1]=temp
}
選擇排序
首先通過(guò)n-1次比較轮纫,從n個(gè)數(shù)中找出最小的腔寡,將他與第一個(gè)數(shù)交換,這是第一趟選擇排序掌唾,最小的數(shù)安放在了第一個(gè)值放前。
//在通過(guò)n-2次比較,從剩余的n-1個(gè)數(shù)中找出最小的糯彬,將他與第二個(gè)數(shù)交換凭语,這是第二趟選擇排序
//......
//重復(fù)上述過(guò)程,共經(jīng)過(guò)n-1次
//每一趟都會(huì)選擇出一個(gè)最小值來(lái)跟前面相應(yīng)的元素做交換(相應(yīng)的元素:第幾趟就是第幾個(gè)元素)
/* 49 38 65 97 76 12 27
* 第一趟
* 12 38 65 97 76 49 27
* 第二趟
* 12 27 65 97 76 49 38
* 第三趟
* 12 27 38 97 76 49 65
* 第四趟
* 12 27 38 49 76 97 65
* 第五趟
* 12 27 38 49 65 97 76
* 第六趟
* 12 27 38 49 65 76 97
*/
int [ ] a={11,22,33,6,55,88}
int min = a[0];
int index=0;
for? (int i=0;i<a.Length-1;i++)
{
? min=a[i];
?? index=i;
?????? for(int j=i+1;j<a.Length;j++)
?????????? {
????????????? if a[j]<min
???????????? {???????
???????????????????? ?min=a[j];
??????????????????? index=j;
????????????? }
}
a[index]=a[i]
a[i]=min;
}