Java经典算法冒泡排序

冒泡排序、

实现原理:

比较两个相邻位数的元素,将较大的元素交换到右端或左端,最大的元素就在最右端或是最左端;

 

从小-->大



 1 public class MaoPao {
 2
 3 public static void main(String[] args) {
 4 // TODO Auto-generated method stub
 5 Scanner sc= new Scanner(System.in);
 6 int [] num = new int [5];
 7 for (int i = 0; i < num.length; i++) {
 8 System.out.println("开始输入第"+(i+1)+"个数");//输入5个整数
 9 num[i]=sc.nextInt();
10 }
11 for (int i = 0; i < num.length; i++) {
12 System.out.print(num[i]+",");//冒泡之前
13 }
14 System.out.println(" ");
15 System.out.println("开始冒泡");
16 for (int i = 0; i < num.length-1; i++) {
17 for (int j = 0; j < num.length-1-i; j++) {
18
19 if (num[j]>num[j+1]) {
20 int temp=num[j+1];
21 num[j+1]=num[j];//交换位置
22 num[j]=temp;
23
24 }
25 }
26 }
27 for (int i = 0; i < num.length; i++) {
28 System.out.print(num[i]+","); //冒泡之后
29 }
30
31 }


 

从大-->小

public class MaoPao {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc= new Scanner(System.in);
        int [] num = new int [5];
        for (int i = 0; i < num.length; i++) {
            System.out.println("开始输入第"+(i+1)+"个数");//输入5个整数
            num[i]=sc.nextInt();
        }
        for (int i = 0; i < num.length; i++) {
            System.out.print(num[i]+",");//冒泡之前
        }
        System.out.println(" ");
        System.out.println("开始冒泡");
        for (int i = 0; i < num.length-1; i++) {
            for (int j = 0; j < num.length-1-i; j++) {

                if (num[j]<num[j+1]) {
                    int temp=num[j];
                    num[j]=num[j+1];
                    num[j+1]=temp;

                }
            }
        }
        for (int i = 0; i < num.length; i++) {
            System.out.print(num[i]+","); //冒泡之后
        }

    }

原文地址:https://www.cnblogs.com/fengxia/p/10061208.html

时间: 2024-07-31 16:08:49

Java经典算法冒泡排序的相关文章

Java经典算法案例

笔试中的编程题3 JAVA经典算法40例[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{public static void main(String args[]){int i=0;for(i=1;i<=20;i++)System.out.println(f(i));}pu

JAVA经典算法50题(转)

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... [java] view plain copy public class Demo01 { public s

10道java经典算法题,每一题都能提升你的java水平!第二弹!

10道java经典算法! 持续更新java小知识,跪求关注,祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发! [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去   掉不满足条件的排列. public class Wanshu { public static void main(String[] args) { int i=0; int j=

java经典算法之冒泡排序

1 /** 2 *冒泡排序(当前值与下一个值依次比较) 3 */ 4 public class BubbleSort 5 { 6 public static void main(String[] args) 7 { 8 sort(); 9 } 10 public static void sort(){ 11 12 int[] arr = new int[]{80,15,31,20,59}; 13 14 for(int i=1;i<arr.length;i++){ 15 for(int j=0;j

经典算法--冒泡排序(Java)

原理:将相邻元素的较大值赋给右边 思路:① 1.将集合或数组内的第一个元素与第二个元素进行比较,较大值赋给右边: 2.将第二个元素与第三个元素进行比较,较大值赋给右边: ....... (N-1).将第N-1个元素与第N个元素进行比较,较大值赋给右边: 自此,得到集合中元素最大值并将其赋给元素N; ② 重复操作① 得到元素N-1的新值:得到元素N-2的新值: ...... 得到元素2的值,得到元素1的值 实例: 为 Arr[5] = {3,5,2,8,1}排序: 第一趟排序: 3,5,2,8,1

Java经典算法(一)

Java中经典的一些算法(一) [程序01]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:第一个月兔子对数为1,第二个月兔子对数为1,第三个月兔子对数为2,第四个月兔子对数为3,第五个月兔子对数为5,.... 该"兔子数列"(也即是斐波那契数列),从第二项开始,每一项都等于前两项之和,1,1,2,3,5,8,13,21,34,....   需要注意的是第一个1代表的是第1项,第

java 经典算法(转)

1.河内之塔.. 2.Algorithm Gossip: 费式数列. 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一) 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇后 9.Algorithm Gossip: 八枚银币. 10.Algorithm Gossip: 生命游戏. 11.Algorithm Gossip:

三个典型的经典算法冒泡排序,插入排序,选择排序

稍微轻松点,彻底理解了一下这三个算法,当然只是部分,还有什么改良版,具体分类等等,不过下周有事,先把这几个典型的弄明白,老规矩,看代码说问题 /** * Created by fanyafeng on 2015/5/8/0008. */ public class ALGTest { public static void main(String[] args) { System.out.println("排序算法"); System.out.println("---------

回顾C#经典算法冒泡排序

冒泡算法的原理: 比较相邻的两个数字,如果第一个数字比第二个数字大,则交换它们位置 从开始第一对比较到结尾最后一对,最后一个数字就是最大数 除了最后一个数字,再次从开始第一对比较到最后一对,得出第二大的数字 重复上面操作,直到没有任何一对数字需要比较 举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 第一趟排序: 第一次排序:6和3比较,6大于3,交换位置: 3 6 8 2 9 1 第二次排序:6和8比较,6小于8,不交换位置:3 6 8 2 9 1 第三次排序:8和2比较