废话开始:
这是本人第一次写博客,不周之处,还望各路大神一笑而过。
看了很多地方都写了冒泡排序算法,都写的不错,而且可以说很好,
但是我却要自己写出自己的想法,因为别人的再好,那也是别人的理解,别人的思路,
只有写出自己的思路,才能深刻地记忆在脑海里,不容易忘记,
虽然结果都是为了排序,
但是每个人的思路都不一定相同,所以写出自己的思路尤为重要。
-----------------------------------先粘一粘百度里的JAVA冒泡排序代码吧------------------------------------------------------------------------------------
JAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class BubbleSort
{
public void sort(int[] a)
{
int temp = 0;
for (int i = a.length - 1; i > 0; --i)
{
for (int j = 0; j < i; ++j)
{
if (a[j + 1] < a[j])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
}
|
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
很清楚 ,但是这里我得说出自己的思路:
------------------------------------------------------------------------------------------------------------------------------------------------
JAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
N 表示数组的长度
外层 for 循环能确定比较的趟数,每一趟能比较出一个最大值。
因为第一个数不需要去比较,它在最后一趟,也就是数组中第二个元素和它比较的时候就己经确定了,
所以比较的趟数最多是 N-1 趟就能得到最后的排序结果。
---- 没时间了,找到时间再补全。。。
|