排序大集合java

Posted 10081_AA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序大集合java相关的知识,希望对你有一定的参考价值。

今日面试被问到排序问题,发现自己的不足,特来查漏补缺:

首先是各大排序算法的总结表

排序算法大合集 
排序算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 稳定性
冒泡排序 Ο(n2) Ο(n) Ο(n2) Ο(1)  稳定
选择排序 Ο(n2) Ο(n2) Ο(n2) Ο(1)  不稳定
插入排序 Ο(n2) Ο(n) Ο(n2) Ο(1)  稳定
希尔排序 Ο(nlogn) Ο(nlog2n) Ο(nlog2n) Ο(1)  不稳定
归并排序 Ο(nlogn) Ο(nlogn) Ο(nlogn) Ο(n) 稳定 
快速排序 Ο(nlogn) Ο(nlogn) Ο(n2) Ο(logn) 不稳定 
堆排序 Ο(nlogn) Ο(nlogn) Ο(nlogn) Ο(1) 不稳定 
计数排序 Ο(n+k) Ο(n+k) Ο(n+k) Ο(k) 稳定 
桶排序 Ο(n+k) Ο(n+k) Ο(n2) Ο(n+k) 稳定 
基数排序 Ο(n*k) Ο(n*k) Ο(n*k) Ο(n+k) 稳定 

 

首先用自己最近实战的java语言来进行一个排序问题编程:

问题:对输入的n个数排序并输出

输入:两行,第一行为n;第二行为需要进行排序的n个数

输出:一行,即排序后的数

 1 import java.util.Scanner;
 2 import java.util.Arrays;
 3 public class Main{
 4     public static void main(String [] args){
 5         Scanner in = new Scanner(System.in);
 6         while(in.hasNext()){
 7              int n = in.nextInt();
 8              int[] arr = new int[n];
 9              for(int i = 0;i<n;i++){
10                  arr[i] = in.nextInt();
11              }
12              Arrays.sort(arr);
13              for(int i = 0;i<n;i++)
14                  System.out.print(arr[i]+" ");
15               System.out.println();
16               }
17         }
18 }

 

以上是关于排序大集合java的主要内容,如果未能解决你的问题,请参考以下文章

排序算法十大经典大集合:简介-代码-动态图-时间复杂度

排序大集合~

查找和排序的基本操作:查找排序算法大集合

《初学者问题大集合》第7节:编写第一个Java程序

Java-大集合拆分为指定大小的小集合

花费半年整理拼多多饿了么蚂蚁金服等大厂Java面试题大集合