华为OJ——图片整理(字符排序)

来源:互联网 发布:ddos攻击软件 编辑:程序博客网 时间:2024/05/19 03:26

题目描述

       Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。

  • 输入描述:

      Lily使用的图片包括”A”到”Z”、”a”到”z”、”0”到”9”。输入字母或数字个数不超过1024。

  • 输出描述:

      Lily的所有图片按照从小到大的顺序输出

  • 示例1

        输入

        Ihave1nose2hands10fingers

        输出

        0112Iaadeeefghhinnnorsssv

代码实现:

  • 方法一:
    两层for循环排序
package cn.c_shuang.demo34;import java.util.Scanner;/** * 图片整理(字符排序) * @author Cshuang *  */public class Main {    public static void main(String[] args) {        Scanner in =new Scanner(System.in);        while(in.hasNext()){            String s=in.nextLine();            System.out.println(sort(s));        }        in.close();    }    private static String sort(String s) {        char[] c=s.toCharArray();        char temp;        for (int i = 0; i < c.length-1; i++) {            for (int j =i+1; j < c.length; j++) {                if(c[i]>c[j]){                    temp=c[j];                    c[j]=c[i];                    c[i]=temp;                }            }        }        return String.valueOf(c);    }}
  • 方法二:

          直接利用Arrays.sort(xx)可以对任意类型数组进行直接排序

import java.util.*;public class Main{    public static void main(String[] args){        Scanner in = new Scanner(System.in);        while(in.hasNext()){            String s = in.nextLine();            char [] str = s.toCharArray();            Arrays.sort(str);            System.out.println(str);        }    }}