冒泡排序
什么是冒泡排序?
重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
实现思路
比如按照升序排
设置两层循环,第一层控制要循环多少轮,第二层循环控制每轮比较多少次。
内层循环中比较两个相邻的元素,如果第一个比第二个数字大,那么交换这两个数字。
比较完第一轮,那么最后一个数就是最大的数
开始后面的比较
代码
public static int[] bubble(int[] a){
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
int temp=0;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
return a;
}