美文网首页
两种排序算法

两种排序算法

作者: 我就是个帝帝 | 来源:发表于2018-11-16 23:50 被阅读0次

冒泡排序代码

  • 限制生成的随机数为0-100的五个数字,然后通过两重循环进行排序,最后遍历一维数组按照顺序输出

public class BubbelSort {
    public static void main(String[] args) {
        final int N = 5;
        int[] numbers = new int[N];
        Random random = new Random();
        for(int i = 0; i < N; i++){
            numbers[i] = random.nextInt(100);
        }

        System.out.print("排序前:");
        //遍历一维数组
        for (int n:numbers
             ) {
            System.out.print(n+ "  ");
        }
        //外层循环控制排序趟数
        int temp;
        for(int i = 0; i < N-1; i++){
            //内层循环控制每趟的排序次数
            for (int j = i+1; j < N; j++){
                if (numbers[i] < numbers[j]){
             temp = numbers[i];
             numbers[i] = numbers[j];
             numbers[j] = temp;
                }
            }
        }
        System.out.print("\n排序后:");

        for (int n:numbers
        ) {
            System.out.print(n+ "  ");
        }
    }
}

选择排序法


public class selectSort {
    public static void main(String[] args) {
        final int N = 5;
        int[] number = new int[N];
        Random random = new Random();
        for (int i = 0; i < N; i++){
            number[i] = random.nextInt(100);
        }
        System.out.print("排序前:");
        //遍历一维数组
        for (int n:number
        ) {
            System.out.print(n+ "  ");
        }
        int min;
        int temp;
        for (int i = 0; i < N-1; i++){
            min = i;
            for (int j = i + 1; j< N; j++){
                if (number[j] < number[min]){
                    min = j;
                }
            }
            if (i != min){
                temp = number[i];
                number[i] = number[min];
                number[min] = temp;
            }
        }
        System.out.print("\n排序后的结果为:");
        for (int n:number
             ) {
            System.out.print(n+" ");
        }
    }
}

相关文章

  • 你对排序算法了解多少

    说起排序算法,可能大家会脱口而出:冒泡排序,选择排序。没错,这是我们最熟悉的两种排序算法,其实,排序算法远不止这些...

  • 2018-09-08

    排序算法 我们通常所说的排序算法是指内部排序算法,即数据记录在内存中进行排序。 排序算法大致分为两种: 一种是比较...

  • 插入排序算法实现

    排序算法是最常见,最基础的算法,作者文集中记录了两种排序算法(插入排序,归并排序) 插入排序算法实现很简单直接,附...

  • 排序笔记1----冒泡,选择,插入,希尔排序

    一、排序简介 我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种:...

  • 排序算法-下(Java语言实现)

    今天,我讲两种时间复杂度为 的排序算法,归并排序和快速排序。这两种排序算法适合大规模的数据排序,比上一节讲的那三...

  • 归并排序算法实现

    排序算法是最常见,最基础的算法,作者文集中记录了两种排序算法(插入排序,归并排序) 归并排序实现原理是切刀流,先中...

  • 简单排序算法

    刚学c++,利用两种间的排序算法来练练手0.01.冒泡法排序 2.快速排序 总结以下两种算法的思路不同点:

  • 【面试】常用排序算法总结

    我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排...

  • 常用排序算法(三)

    本篇介绍的两种算法是笔试面试过程中最常考到的两种排序算法,分别是快速排序和堆排序。尤其是快速排序经常会被问及,一方...

  • 常用排序算法(二)

    之前的文章讲解了三种时间复杂度为O(n^2)的简单排序算法,本篇介绍另外两种经典排序算法希尔排序和归并排序。这两种...

网友评论

      本文标题:两种排序算法

      本文链接:https://www.haomeiwen.com/subject/tiovfqtx.html