
正文
java高低排序代码 java中排序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JAVA一个数组从大到小排列
//插入排序
//比如:[6,4,4,8,0,2]
//每一个数字与它前面的数字对比,如果比他小,就和前面换位置。
//8比4大,互换 -[6,4,8,4,0,2],-[6,8,4,4,0,2]-[8,6,4,4,0,2]
//2比0大,互换-[8,6,4,4,2,0]
//就像我们按高低排队一样
private static void insertSort(int[] arr) {
for (int i = 1; i arr.length; i++) {
for (int j=i;j0;j--){
if (arr[j]=arr[j-1]){
break;
}else{
int temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
}
}
相关问答
Q1: 谁能帮我写个JAVA代码,随机生成十个数,然后统计出每个数出现的次数,再把他按出现次数的高低排序
package other;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Set;
public class Test {
public static void main(String[] args) {
MapInteger, Integer numMap = new LinkedHashMapInteger, Integer(); //次数map
Random r = new Random();
int temp = 0;
for(int i=0;i10;i++){//生成随机数并且放置map中java高低排序代码,对应java高低排序代码的value为次数
temp = r.nextInt(200);
if(numMap.get(temp)==null){
numMap.put(temp, 1);
}else{
numMap.put(temp, numMap.get(temp)+1);
}
}
SetInteger set = numMap.keySet();
IteratorInteger it = set.iterator();
ListInteger sortList = new ArrayListInteger();//大小list
String outNum = "";
while(it.hasNext()){//排序
int size = sortList.size();
int tt = it.next();
//拼接输出字符串
if(!outNum.equals("")){
outNum += ","+tt+":"+numMap.get(tt);
}else{
outNum += tt+":"+numMap.get(tt);
}
for(int i=0;isize;i++){
int listTemp = sortList.get(i);
if(numMap.get(tt)numMap.get(listTemp)){//把这句改为ttlistTemp,则可实现数的大小排序
sortList.add(i, tt);
break;
}
}
if(sortList.size()==size){//即为最小java高低排序代码,放置最后
sortList.add(tt);
}
}
//输出结果
System.out.println("每个数出现的次数:"+outNum);
String outSort = "";
for(int i=0;isortList.size();i++){
if(!outSort.equals("")){
outSort += ","+sortList.get(i);
}else{
outSort += sortList.get(i);
}
}
System.out.println("高到低排序:"+outSort);
}
}
以上结果仅供参考,还有提问者问得不够仔细
Q2: JAVA中按分数高低对同学进行排序二维数组
import java.util.Scanner;
public class T1 {
static String[] Names={"张三丰","郭靖","乔峰","张无忌","杨过"};
static String[] cNames={"Java","C++","Oracle","Android"};
static int[][] score = {
{87,76,63,98},
{67,79,83,75},
{90,76,65,60},
{84,88,63,79},
{72,66,58,77},
};
static void swap(int a, int b) {
int t;
String name;
for (int i=0;iscore[a].length;i++) {
t = score[a][i]; score[a][i] = score[b][i]; score[b][i] = t;
}
name = Names[a]; Names[a] = Names[b]; Names[b] = name;
}
public static void main(String argv[]) {
System.out.println("选择排序科目:\n1.Java.\n2.C++\n3.Oracle\n4.Android\n");
Scanner sc = new Scanner(System.in);
int choice = 0;
while (choice=0 || choice4) {
choice = sc.nextInt();
}
sc.close();
for (int i=0;iscore.length-1;i++) {
for (int j=0;jscore.length-1-i;j++) {
if (score[j][choice-1]score[j+1][choice-1]) {
swap(j, j+1);
}
}
}
for (int i=0;iNames.length;i++) {
System.out.printf("%s,%d, %d, %d, %d\n", Names[i], score[i][0], score[i][1], score[i][2], score[i][3]);
}
}
}
Q3: Java类的可比较属性的多个排序
java高低排序代码我知道你想从程序设计java高低排序代码的角度去考虑问题java高低排序代码,但是一般都有个个人认知的局限java高低排序代码,程序设计鼓励思考,但是也同样有些规则,比如类和方法的单一功能性。复杂问题可以多步解决,不是一部就是最好的,你可以一步调用一个排序方法,对外只能看到这个方法,但是你内部解决各个排序的时候是调用不同的实现排序接口的类,这样以后维护起来阅读和修改都非常清楚。
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class goTest1 {
public static ListPerson sortBy(ListPerson list,String key){
if(key == "Height"){
list.sort(new sortByHeight());
}
//自己写其java高低排序代码他的
return list;
}
public static void main(String[] agrs){
Person A = new Person("Alex","001", 180.2, 160, 6000);
Person B = new Person("Tom","002", 160.2, 180, 2000);
Person C = new Person("Jerry","003",171.2, 170, 3000);
Person D = new Person("Bob","004", 150.2, 120, 6200);
ListPerson list = new ArrayListPerson();
list.add(A);
list.add(B);
list.add(C);
list.add(D);
for(Person p:list){
System.out.println(p.name);
}
System.out.println();
// list.sort(new sortByHeight());
goTest1.sortBy(list, "Height");
for(Person p:list){
System.out.println(p.name);
}
}
}
class sortByHeight implements ComparatorPerson{
@Override
public int compare(Person arg0, Person arg1) {
return Double.compare(arg0.height, arg1.height);
}
}
class Person{
String name;
String id;
double height;
double weight;
double income;
public Person(String name, String id, double height, double weight,
double income) {
super();
this.name = name;
this.id = id;
this.height = height;
this.weight = weight;
this.income = income;
}
}
Q4: Java中怎么从大到小排序?
自己写排序方法,效率最高,因为sort只有一个这样的排序,在C#里面还有一个倒置的方法,在java里面没有,如果我们想使用sort,还需要自己写一个倒置的算法,这样算下来就没有自己写这个排序算法效率高了
呵呵,另外事实上算法这个问题的效率高低,并不是绝对的~~
sort用的是一种优化的快速排序
排序算法可能根据你的数据量的大小来判断效率高低,我们常说的算法的高低,比如我们说A排序算法比B排序算法的效率高,这是在所有的情况下,也就是说在大数统计的情况下发生
并不见得,我对任意的一组排序A的效率都比B的效率高?明白不?
Q5: java 16进制高低位转换问题
将数据转换成16进制,可以用InteInteger.toHexString()这个方法。
将16进制转换成10进制,可以用intValue()方法。
高低位转换就不知道了哦。。。
下面是测试代码,希望能帮到你~!
public class DataTransfer {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer a = -1;
System.out.println(Integer.toHexString(a));
Integer b = 0xff;
System.out.println(b.intValue());
}
}
下面这个是在网上找到的,高低位转换:
// Java读取后,顺序已经反了
int javaReadInt = ;
// 将每个字节取出来
byte byte4 = (byte) (javaReadInt 0xff);
byte byte3 = (byte) ((javaReadInt 0xff00) 8);
byte byte2 = (byte) ((javaReadInt 0xff0000) 16);
byte byte1 = (byte) ((javaReadInt 0xff000000) 24);
// 拼装成 正确的int
int realint = (byte1 0xff)0 + (byte2 0xff)8 + (byte3 0xff) 16 +(byte4 0xff)24 ;
java高低排序代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中排序、java高低排序代码的信息别忘了在本站进行查找喔。







