冒泡排序
對(duì)數(shù)組進(jìn)行排序
Array.Sort(nums);//從小到大排,升序排序
Array.Reverse(nums);//從大到小排,降序排序
但是這個(gè)也有缺陷,Sort和Reverse,只是能對(duì)有規(guī)律的數(shù),進(jìn)行升序降序排列。比如你數(shù)組的值,是012345從小到大,或者543210從大到小,他就能實(shí)現(xiàn)升序或者降序排列,如果沒(méi)規(guī)律,他就只是執(zhí)行顛倒位置,把數(shù)的值顛倒位置。
比如nums[0],nums[1],nums[2],nums[3],nums[4],nums[5],
Reverse可以給你輸出nums[5],nums[4],nums[3],nums[2],nums[1],nums[0],
他的升序降序是按數(shù)值在數(shù)組中的位置來(lái),而不是數(shù)值本身的大小來(lái)。
如果一組雜亂無(wú)章的數(shù),要實(shí)現(xiàn)大小的升序降序排,就還是得用循環(huán)
——————————————————————————————————————
這種排序方法,如果要用循環(huán)來(lái)寫(xiě),那就是這樣:
int[] nums = { 0,1,2,3,4,5,6,7,8,9 };//數(shù)組的Length是10,要比9次
for (int i = 0; i < nums.Length - 1; i++)//9
{
? ? ? for (int j = 0; j < nums.Length - 1 - i; j++)//8
? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? if (nums[j] > nums[j + 1])//這個(gè)大于號(hào),是升序排序;寫(xiě)小于號(hào)就是降序排
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? int temp = nums[j + 1];
? ? ? ? ? ? ? ? ? ? ? ? nums[j + 1] = nums[j];
? ? ? ? ? ? ? ? ? ? ? ? nums[j] = temp;
? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ?}
}