「java数组计数排序代码」java数组快速排序代码
本篇文章给大家谈谈java数组计数排序代码,以及java数组快速排序代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、谁能帮我写个JAVA代码,随机生成十个数,然后统计出每个数出现的次数,再把他按出现次数的高低排序
- 2、java排序
- 3、JAVA如何用TreeMap 去统计一个整数数组中 每个数出现的次数 并进行降序排序 求完整的代码
- 4、java数组排序
- 5、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数组计数排序代码的信息别忘了在本站进行查找喔。