1.目的

排序一组无序序列

2.思路

比较相邻的两个数,然后交换,小的在前,大的在后(升序)

3.举例

排序一组无序序列
image.png
第一趟:
[10][ 1 ]交换后[ 1 ][10]
[89][36]交换后[36][89]
[89][55]交换后[55][89]
image.png
第二趟 :
[61][36]交换后[36][61]
[61][55]交换后[55][61]
image.png
第三趟:
无交换
image.png
第四趟:
无交换
image.png
第五趟:
无交换
image.png
第六趟:
无交换
image.png

4.代码:

  1. class BubbleSort {
  2. /**
  3. * 冒泡排序
  4. * @param nums 需要排序的序列
  5. */
  6. public void sort(List<Integer> nums) {
  7. for (int i = 0; i < nums.size(); i++) {
  8. for (int j = 0; j < nums.size() - 1; j++) {
  9. if (nums.get(j) > nums.get(j + 1)) {
  10. int min = nums.get(j + 1);
  11. nums.set(j + 1, nums.get(j));
  12. nums.set(j, min);
  13. }
  14. }
  15. }
  16. }
  17. }
  18. }