思想
- 基本方法设待排序对象序列中的对象个数为n。
- 一般地,第i趟起泡排序从1到n-i+1依次比较相邻两个记录的关键字,如果发生逆序,则交换之。
- 其结果是这n-i+1个记录中,关键字最大的记录被交换到第n-i+1的位置上,最多作n-1趟。
图片
代码
Java:
public LinkedList<Integer> bubbleSort(LinkedList<Integer> list) {
int length = list.size(); //列表的长度
for (int i = length - 1; i > 0; i--) { //进行n-1轮,n-1到1,每一轮都把最大/最小放在当前这些数紧接的后面
for (int j = 0; j < i; j++) { //n-1个数两两比较,交换顺序
if (list.get(j) > list.get(j + 1)) { //不符合顺序的就交换
int temp = list.get(j + 1);
list.set(j + 1, list.get(j));
list.set(j, temp);
}
}
}
return list;
}