> 文档中心 > 冒泡排序法和选择排序法

冒泡排序法和选择排序法

1.冒泡法:

算法步骤(java实现):

(1) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

(2) 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

(3) 针对所有的元素重复以上的步骤,除了最后一个。

(4) 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

package day4;import java.util.Arrays;/*冒泡排序法 */public class demo3 {    public static void main(String[] args) { int [] a = {5,4,3,2,1}; for (int i = 0; i < a.length-1; i++) {     for (int j = 0; j a[j+1]) {     int t = a[j];     a[j] = a[j + 1];     a[j+1] = t; }     } } System.out.println(Arrays.toString(a));    }}

运行结果:

 

2.选择排序法(java实现):

选择排序法是在要排序的一组数中,选出最小(或最大)的一个数与第一个位置的数交换;在剩下的数当中找最小的与第二个位置的数交换,即顺序放在已排好序的数列的最后,如此循环,直到全部数据元素排完为止。

package day4;import java.util.Arrays;/*选择排序法 */public class demo4 {    public static void main(String[] args) { int [] a = {5,4,3,2,1}; for (int i = 0; i < a.length-1; i++) {     for (int j = i+1; j a[j]){      int t = a[i];      a[i] = a[j];      a[j] = t;  }     } } System.out.println(Arrays.toString(a));    }}

运行结果: