「java数组计数排序代码」java数组快速排序代码

博主:adminadmin 2023-03-19 02:28:09 286

本篇文章给大家谈谈java数组计数排序代码,以及java数组快速排序代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

谁能帮我写个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中,对应的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){//即为最小,放置最后

    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);

 }

 

}

以上结果仅供参考,还有提问者问得不够仔细

java排序

public class Arr {

public static void countSort(int n[])//对数组n进行计数排序的方法

{

int m[]=new int[n.length];//定义排序后的数组m

int count[]=new int[n.length];//记录数组n中某个数据在数组m中的位置

for(int i=0;i=n.length-2;i++)

{

for(int j=i+1;j=n.length-1;j++)

{

if(n[j]n[i])

count[i]++;

else

count[j]++;

}

}

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

m[count[i]]=n[i];

}

for(int i=0;im.length;i++)//输出排序后的数组

{

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

}

System.out.println();

}

public static void main(String[] args) {

int num[]={7,4,0,6,2,5,1};

countSort(num);

}

}

JAVA如何用TreeMap 去统计一个整数数组中 每个数出现的次数 并进行降序排序 求完整的代码

MapInteger, Integer map = new HashMapInteger, Integer();

Integer[] ks = new Integer[50];

Random rand = new Random();

for (int i = 0; i ks.length; i++) {// 赋值50个随机数

ks[i] = rand.nextInt(6) + 30;

}

for (int i = 0; i ks.length; i++) {// 统计个数

if (map.get(ks[i]) == null) {

map.put(ks[i], 1);

} else {

map.put(ks[i], map.get(ks[i]) + 1);

}

}

ListInteger list = new ArrayListInteger(map.keySet());

Collections.sort(list);// 排序

Collections.reverse(list);// 降序排列

for (Integer num : list) {

System.out.println(num + " 个数: " + map.get(num));

}

java数组排序

//原理:每次都找到当次最大的数,按大小顺序依次放入数组相应位置

//比如:第一次先找到最大的数并记下其位置,如果其不在数组第一位,

//则将其与第一位交换,使最大数置于第一位

//第二次再循环查找第二大的数并记下其位置,如果其不在数组第二位,

//则将其与第二位交换,使最大数置于第二位

//依次类推.........................................

//第i次再循环查找第i大的数并记下其位置,如果其不在数组第 i位,

//则将其与第 i位交换,使最大数置于第 i位

public class SelectSort {

public static void main(String[] args) {

int[] a = {25,15,42,16,12,36};

int max = 0;

int tmp = 0;

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

max = i;//

/**查找第 i大的数,直到记下第 i大数的位置***/

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

if(a[max]a[j])

max = j;//记下较大数位置,再次比较,直到最大

}

/***如果第 i大数的位置不在 i,则交换****/

if(i!=max){

tmp = a[i];

a[i] = a[max];

a[max] = tmp;

}

}

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

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

}

}

java输入任意数量的数字,统计每个数字出现的次数,求出最大值,并从大到小排序

import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;

public class Demo {

    public static void main(String[] args) {

        // 用来统计每个数字出现的次数

        MapInteger, Integer map = new HashMap();

        System.out.println("请输入任意个数字(输入-1结束)");

        Scanner scanner = new Scanner(System.in);

        int input;

        while ((input = scanner.nextInt()) != -1) {

            Integer count = map.get(input);

            map.put(input, count == null ? 1 : count + 1);

        }

        int size = map.size();

        int[] num = new int[size]; // 存储输入数字

        int[] count = new int[size]; // 存储对应数字的次数

        int i = 0;

        for (Map.EntryInteger, Integer entry : map.entrySet()) {

            num[i] = entry.getKey();

            count[i] = entry.getValue();

            i++;

        }

        // 根据出现次数排序

        for (int j = 0; j  size - 1; j++) {

            for (int k = j; k  size; k++) {

                if (count[j]  count[k]) {

                    int temp = count[j];

                    count[j] = count[k];

                    count[k] = temp;

                    // 数字数组也同步交换

                    temp = num[j];

                    num[j] = num[k];

                    num[k] = temp;

                }

            }

        }

        // 输入

        System.out.println("数字\t次数");

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

            System.out.println(num[j] + "\t" + count[j]);

        }

    }

}

java数组计数排序代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java数组快速排序代码、java数组计数排序代码的信息别忘了在本站进行查找喔。