我是靠谱客的博主 合适雪碧,最近开发中收集的这篇文章主要介绍冒泡排序法和选择排序法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

冒泡排序法(算法):
    ①.比较相邻的元素。如果第一个比第二个大,就交换它们两个;
    ②.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;
    ③.针对所有的元素重复以上的步骤,除了最后一个;
    重复步骤1~3,直到排序完成。

public class TestArraySort1{
public static void main(String[] args){
int[] a = {9,8,6,1,4};
/*
i
i+1
a[0]
a[1]
a[1]
a[2]
a[2]
a[3]
a[3]
a[4]
*/
/*
每一轮的比较次数
+
第几轮 = 数组长度
每一轮的比较次数 = 数组长度
-
第几轮
*/
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"
");
}
System.out.println();
for(int j=1;j<a.length;j++){
//N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,
for(int i=0;i<a.length-j;i++){
//所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数
if(a[i]>a[i+1]){
int temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"
");
}
}
}

  选择排序法思想:
        从数组中找到最小的元素,和第一个位置的元素互换。 从第二个位置开始,找到最小的元素,和第二个位置的元素互换。 … 直到选出array.length-1个较小元素,剩下的最大的元素自动排在最后一位。

public class TestArraySort2{
public static void main(String[] args){
int[] a = {9,8,6,1,4};
/*
i
j=i+1
j++
j++
j++
a[0]
vs
a[1]
a[2]
a[3]
a[4]
a[1]
vs
a[2]
a[3]
a[4]
a[2]
vs
a[3]
a[4]
a[3]
vs
a[4]
*/
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"
");
}
System.out.println();
for(int i=0;i<a.length-1;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"
");
}
}
}

最后

以上就是合适雪碧为你收集整理的冒泡排序法和选择排序法的全部内容,希望文章能够帮你解决冒泡排序法和选择排序法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部