码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序1

时间:2018-10-20 22:07:38      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:利用   util   can   company   span   com   rgs   最小   hellip   

冒泡排序一:

可以利用这样排序来排序:将第一个元素和它后面的元素比较大小,如果比后面的某个元素大,就将这两个元素互换位置,直到最后一个元素,一轮排序完毕,获得一个最小值在新数组的第一位。接着再对第二个元素重复以上操作,这样第二个元素也是除第一个元素之外最小的,一直到第n-1个元素,和第n个元素比较,如果小于n,结束循环,如果大于n,交换位置之后结束循环。

循环次数:(n-1)+(n-2)+……+1

package com.zzh;
import java.util.Scanner;

import javax.sound.midi.Soundbank;

public class Main {
//冒泡排序1
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        int[] num=new int[n];
        int i,j,temp;
        for(i=0;i<n;i++) {
            num[i]=scanner.nextInt();
        }
        for(i=0;i<n-1;i++) {
            for(j=i+1;j<n;j++) {
                if (num[i]>num[j]) {
                    temp=num[i];
                    num[i]=num[j];
                    num[j]=temp;
                }
            }
        }
        for(i=0;i<n;i++) {
            System.out.print(num[i]+" ");
        }
    }
}

冒泡排序二:

待排数组:12 45 1 545 21 65 888

方法:将数组中相邻的元素两两比较,如果下标i的元素大于下标i+1的元素,则交换位置,一轮排序完成之后,数组中的最大值挪到新数组的最后,下标为n-1;新一轮排序的时候,依然从第一个元素到倒数第二个元素之间两两比较,得到一个最大值放在倒数第二位,这样的话,经过n-1轮排序之后,即可获得一个从小到大排序的新数组

package com.company;
import java.util.Scanner;

import javax.sound.midi.Soundbank;

public class Main {
    //冒泡排序1
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        int[] num=new int[n];
        int i,j,k,temp;
        for(i=0;i<n;i++) {
            num[i]=scanner.nextInt();
        }
        //接下来对数组进行排序,一共要进行num.length-1轮排序
        for(j=0;j<num.length-1;j++) {
            //从第一个元素到倒数第二个元素
            for(i=0;i<n-1;i++) {
                if (num[i]>num[i+1]) {
                    temp=num[i];
                    num[i]=num[i+1];
                    num[i+1]=temp;
                }
            }
            n--;//每一轮排序结束,最大值存在数组末尾,所以下一轮排序的时候,n的值减1,减少比较次数
        }
        for(j=0;j<num.length;j++) {
            System.out.print(num[j]+" ");
        }
    }
}

 

冒泡排序1

标签:利用   util   can   company   span   com   rgs   最小   hellip   

原文地址:https://www.cnblogs.com/zhuzehua/p/9822929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!