算法之冒泡排序
冒泡算法
假设给出n个无序的元素,要求从小到大排列。冒泡排序是非常见到的排序算法,
它同过相邻元素比较大小交换位置,第一次将最小的一个元素提到第一位,第二次将第二小的元素提到第二位,
最多经历n-1遍循环就可以把这组元素变为有序状态
1.相邻两个元素两两比较,找出最小的一个,冒泡(交换位置提到第一位)
2.找出第二小的一个,提到第二位
3.自然有序,终止循环
package com.dataStructure;
import java.util.ArrayList;
import java.util.List;
import org.omg.CORBA.DATA_CONVERSION;
/**
*
* @author Sherman
*
*/
public class BubbleSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Integer> list=new ArrayList<Integer>();
list.add(8);
list.add(5);
list.add(1);
list.add(4);
list.add(2);
list.add(3);
boolean exChange = false;//默认无序状态
for(int i=list.size();i>0;i--){
exChange = false;
for(int j=list.size()-1;j>0;j--){
if(list.get(j-1)>list.get(j)){
int temp=0;
temp=list.get(j-1);
list.set(j-1, list.get(j));
list.set(j,temp);
exChange=true;
}
}
if(false == exChange){
break;
}
System.out.println(list.toString());
}
}
}输出:
[1, 8, 5, 2, 4, 3]
[1, 2, 8, 5, 3, 4]
[1, 2, 3, 8, 5, 4]
[1, 2, 3, 4, 8, 5]
[1, 2, 3, 4, 5, 8]
相关推荐
hang0 2020-08-16
风吹夏天 2020-07-07
小海 2020-06-25
清溪算法君老号 2020-06-06
wonner 2020-06-03
清溪算法君老号 2020-06-01
RememberMePlease 2020-05-01
清溪算法君老号 2020-04-25
rein0 2020-04-21
rein0 2020-04-18
qingsongzdq 2020-03-03
wonner 2020-02-25
horizonheart 2020-02-23
baike 2020-02-16
# 第三题:使用python实现冒泡排序def BubbleSort: long = len for i in range: for j in range: if list[i] < list[j]:
GhostLWB 2020-01-11
singer 2020-01-08
蜗牛慢爬的李成广 2020-01-04