今天开始我开始了我的算法编程,计划每天敲敲代码,提高自己的编程水平。
冒泡排序:BubbleSort
思想:
例如有:int[] a ={5,4,3,6,7,9} 数组大小是6. 大小用n表示。
注意:1:至少进行n-1趟排序
2:每一趟都会选出一个大的数字,放在数组的最后。
3:每次比较都是两两比较
还是直接贴代码。
package sort;
/**
* 对于一个int数组,请编写一个冒泡排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。
测试样例:
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
* @author Administrator
*
*/
public class BubbleSort {
public static void main(String[] args) {
int[] a = new int[]{2,3,5,6,8,1,10,0,13};
BubbleSort sort = new BubbleSort();
int[] result =sort.bubblesort(a, a.length);
for(int i = 0;i<result.length;i++)
{
System.out.println(result[i]);
}
}
int[] bubblesort(int[] b, int n)
{
//排序b
int temp;
for(int i =0;i<b.length-1;i++) //排序需要多少趟,至少需要
{
for(int j =0;j<b.length-i-1;j++) //一定知道j的大小
{
if(b[j]>b[j+1])
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
}
return b;
}
}
注意事项:1:排序需要进行n-1趟(n表示数组的大小)
2:每一趟都会选出一个数字,所以进行比较的时候内循环 j 的大小一定要注意,可以通过外循环的i进行每次减一。