「排序题java」排序题是什么意思

博主:adminadmin 2022-11-23 12:27:08 55

今天给各位分享排序题java的知识,其中也会对排序题是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA排序问题

说思路,不提供代码!

排序两种方式:

排序方式1:

1.角色类实现Comparable接口,重写compareTo方法

  a.角色优先比较

    字符串比较返回int类型:int=角色2对比角色4(注:实际你这个在比较后面的数字,提出来更好比较)

    判断,如果返回的int值不等0直接返回这个int值,否者证明角色名字相同,继续向下比较

    

  b.对比2010-01-01与2010-09-22这样的字符串,其实判断这个方法挺多,你这个01大于09

    遍历字符串用字符对比即可,遍历过程判断大小,如果遍历完毕,还不能有结果

    证明这2个字符串相同,如果不同,直接返回你想要的即可,如果相同继续向下比较!

    

 c. 如果b过程是一样,就开始比较最后面的年月日,遍历过程,同b一样,

 

    注意:b和c对比的可以使用字符串对比,也可以正则提取里面的数字,使用数字对比!

     也可以使用日期类格式化直接比较毫秒数,方法挺多!

 

 以上为你的角色类自带比较行为,可以使用集合工具直接对其排序,如果你使用的TreeSet或者

 TreeMap,在存入的过程,会自动排序的!

 

 

 排序方式2:

 如果你的类没有实现Comparable接口,可以在你的集合初始化的时候,传入一个比较器即可

 既:写一个匿名类,Comparator重写compare方法,让集合自身具备比较行为

 泛型传入你这个角色类,

 其方法内部进行比较行为,和上面,第一种方法,完全一样!

java选择排序问题

public class select{

public static void main(String[] args){

int[] arr={2,345,111,1,34,5};

int temp=0;

int min=0;

for(int i=0;iarr.length-1;i++){ //修改第1处,可选

min=i;

for(int j=i+1;jarr.length;j++){

if(arr[min]arr[j]) //修改第2处,必选

min=j;

}

if( min != i) { //修改第3处,可选

temp=arr[min];

arr[min]=arr[i];

arr[i]=temp;

}

}

System.out.println("排序后的数组为:");

for (int i=0;iarr.length;i++){

System.out.print(arr[i]+" ");

}

}

}

一道java排序题

public class Sort2 {

public static void main(String args[]) {

if (args.length == 0) {

System.out.println("没有输入单词串!请重新运行程序!");

System.exit(0);

} else {

String[] a = args;

for (int i=0;ia.length;i++) {

for (int j=i+1;ja.length;j++) {

if (a[i].compareTo(a[j]) 0) {

String t = a[i];

a[i] = a[j];

a[j] = t;

}

}

}

for(int i=0;i=a.length-1;i++){

System.out.print(a[i]+"\t");

}

System.out.println();

}

}

}

JAVA排序题目求解

import java.util.Arrays;

import java.util.Scanner;

public class Order {

public static void main(String[] args) {

System.out.println("请输入10个数,用','分隔");

Scanner reader = new Scanner(System.in);

String inputNumbers = reader.nextLine();

String[] numbers = inputNumbers.split(",");

for(int i=0;inumbers.length;i++){

for(int j=i+1;jnumbers.length;j++){

if(Integer.parseInt(numbers[j]) Integer.parseInt(numbers[i])){

String temp = numbers[i];

numbers[i] = numbers[j];

numbers[j] = temp;

}

}

}

System.out.println(Arrays.toString(numbers));

}

}

Java排序问题

以前面试的时候做过,现在懒了,网上找了个给你参考import java.util.Iterator;

import java.util.TreeSet;

public class Sort {

private String[] b = new String[] {"1","2","2","3","4","6"};

private int n = b.length;

private boolean[] visited = new boolean[n];

private int[][] a = new int[n][n];

private String result = "";

private TreeSetString set = new TreeSetString();

public static void main(String[] args) {

new Sort().start();

}

private void start() {

// Initial the map a[][]

for (int i = 0; i n; i++) {

for (int j = 0; j n; j++) {

if (i == j) {

a[i][j] = 0;

} else {

a[i][j] = 1;

}

}

}

// 3 and 5 can not be the neighbor.

a[3][5] = 0;

a[5][3] = 0;

// Begin to depth search.

for (int i = 0; i n; i++) {

this.depthFirstSearch(i);

}

// Print result treeset.

Iterator it = set.iterator();

while (it.hasNext()) {

String string = (String) it.next();

System.out.println(string);

}

}

private void depthFirstSearch(int startIndex) {

visited[startIndex] = true;

result = result + b[startIndex];

if (result.length() == n) {

// "4" can not be the third position.

if (result.indexOf(" 4 ") != 2) {

// Filt the duplicate value.

set.add(result);

}

}

for (int j = 0; j n; j++) {

if (a[startIndex][j] == 1 visited[j] == false) {

depthFirstSearch(j);

}

}

// restore the result value and visited value after listing a node.

result = result.substring(0, result.length() - 1);

visited[startIndex] = false;

}

}

关于排序题java和排序题是什么意思的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。