「排序题java」排序题是什么意思
今天给各位分享排序题java的知识,其中也会对排序题是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA排序问题
- 2、java选择排序问题
- 3、一道java排序题
- 4、JAVA排序题目求解
- 5、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和排序题是什么意思的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。