zoukankan      html  css  js  c++  java
  • 把数组排成最小的数

    import java.util.Scanner;
    
    /**
     * 把数组排成最小的数[3 32 321],结果:321323;最小;注意,要考虑大数问题
    * 主要是排序问题 *
    @author dell * */ public class Main15 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); Main15 main15=new Main15(); int n; String[] numb; System.out.println("开始..... "); while(scanner.hasNext()){ n=scanner.nextInt(); if(n<=0){ System.out.println("输入不合法默认为10"); } numb=new String[n]; System.out.println("输入数组元素值"); for(int i=0;i<n;i++){ numb[i]=scanner.next(); } numb=main15.sortArray(numb,0,n-1); StringBuilder strBuilder=new StringBuilder(numb[0]); for(int i=1;i<n;i++){ strBuilder.append(numb[i]); } System.out.println(strBuilder); } } private String[] sortArray(String[] numb,int p,int q) { // TODO Auto-generated method stub if(p<q){ int mid=partition(numb,p,q); sortArray(numb, p, mid-1); sortArray(numb, mid+1, q); } return numb; } private int partition(String[] numb,int p,int q){ int i=p; int j; String tmp1,tmp2,tmp3; for(j=p;j<q;j++){ tmp1=numb[j]+numb[q]; tmp2=numb[q]+numb[j]; if(tmp1.compareTo(tmp2)<0){ tmp1=numb[i]; numb[i]=numb[j]; numb[j]=tmp1; i++; } } tmp1=numb[i]; numb[i]=numb[j]; numb[j]=tmp1; return i; } }
  • 相关阅读:
    vSphere 6.5支持512e,NVMe SSD呢?
    分布式队列神器 Celery
    www.coursera.org
    各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解
    SSD S.M.A.R.T
    2018世界人工智能大会在上海开幕
    ER TO SQL语句
    E-R图样例
    关于微软的.NET版本系列
    ArcGIS 10.6 安装破解教程
  • 原文地址:https://www.cnblogs.com/csxf/p/3598893.html
Copyright © 2011-2022 走看看