java笔记5——两种排序

目录

一、冒泡排序

原理

规则

代码

二、选择排序

原理

规则

代码


一、冒泡排序

原理

相邻两个元素两两比较,大的往后放。第一次完毕后,最大值就出现在最大索引处。同理,继续,即可得到一个排好序的数组。

规则

  1. 两两比较,大的往后放
  2. 每一次比较完毕后,下一次的比较就会减少一个元素的比较
  3. 第一次比较,0个元素不比

        第二次比较,1个元素不比

        第三次比较,2个元素不比

       … …

    4.总共需要比较数组长度-1次

代码

for (int i = 0; i < arr.length - 1; i++) {//保证总共需要比较数组长度-1次
			for (int j = 0; j < arr.length-1-i; j++) {//每一次比较完毕后,下一次的比较就会减少一个元素的比较
				if (arr[j] > arr[j+1]) {//两两比较,大的往后放
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] =temp;
				}
			}

二、选择排序

原理

从0索引开始,依次和后面的元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处。其他的同理即可得到一个排好序的数组。

规则

  1. 第一次从0索引开始和其他进行比较

         第二次从1索引开始和其他进行比较

         … …

      2. 最后一次,是索引为数组长度-2的元素和数组长度-1的元素比较

代码

for (int i = 0; i < arr.length - 1; i++) {
			for (int j = i + 1; j < arr.length ; j++) {
				if (arr[i] > arr[j]) {
					int temp = arr[i];
					arr[i] = arr[j];
                    arr[j] = temp;
                 }
            }
        }

猜你喜欢

转载自blog.csdn.net/elice_/article/details/81914051