将1,2,3,4,5,6用冒泡排序法进行排序
共需要排序5+4+3+2+1次
//每次都将最大的放到最前面,然后不管它,在从最后开始往上冒
static void MaoPao(int[] arry)
{
int exchange = 0;
for (int i = arry.Length - 1; i > 0; i--)//共需对比这么多个数arry[5]=6
{
int a = arry.Length - 1;
for (int j = 0; j <= i - 1; j++)//每个数对比的次数 arry[5]>arry[4],arry[4]>arry[3]限定执行次数
{
if (arry[a] > arry[a - 1])
{
exchange = arry[a];
arry[a] = arry[a - 1];
arry[a - 1] = exchange;
}
a--;
}
}
}
当然,对于其它的int型数组也是可以使用的。
整个过程就是这样子的了。不难,但是一开始的时候也会觉得有点小麻烦!
重新整理了一下思路。这样理解方便一些
private static void MaoPao(int[] nums)
{
//解题思路
//1、每遍历一次,排完一个元素
//2、将最后一个元素排除掉(已经是最大了)
//3、接着遍历进行依次排序
//升序
int count = nums.Length;
for (int i = 0; i < count; i++)
{
for (int j = 0; j < count - i - 1; j++)
{
//设置一个临时变量保存
int num1 = nums[j];
//开始冒泡比较
if (j != count - 1 && num1 < nums[j + 1])//决定升序与降序
{
nums[j] = nums[j + 1];
nums[j + 1] = num1;
}
}
}
}