小弟以前只学过c 现在在上研究生的算法课,老师要求用java(完全没学过)实现归并排序n个正整数(输入包括键盘输入,文件重定位,剪贴复制)并提示数字出现的重复次数。输入第一行是整数的个数,输出第一行是不重复的整数的个数。
例子:
输入:
5
1
1
1
2
5
输出:
3
1 3
2 1
5 1
因为没学过java,我现在才到图书馆借了本core java 2来看。作业是3天后交,有点来不及。麻烦各位能指点一下~~~
非常感谢!!
例子:
输入:
5
1
1
1
2
5
输出:
3
1 3
2 1
5 1
因为没学过java,我现在才到图书馆借了本core java 2来看。作业是3天后交,有点来不及。麻烦各位能指点一下~~~
非常感谢!!
import java.util.InputMismatchException;
import java.util.Map;
import java.util.Scanner;/*
* SortUniqueInt.java 10/06/2009
*
* Copyright 1999-2007 Bootstrap IT Ltd. All rights reserved.
* BOOTSTRAP IT LIMITED PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*//**
* @author Lei Gao. Bootstrap IT Ltd. 10/06/2009
*
*/
public class SortUniqueInt { /**
* @param args
*/
public static void main(String[] args) {
Map<Integer, Integer> result = new HashMap<Integer, Integer>();
Scanner input = new Scanner(System.in);
try {
int n = input.nextInt();
while(n>0) {
Integer number = input.nextInt();
if(result.containsKey(number)) result.put(number, result.get(number)+1);
else result.put(number, 1);
n--;
}
System.out.println(result.size());
for(Map.Entry<Integer, Integer> each : result.entrySet())
System.out.println(each.getKey() + " "+ each.getValue());
}catch (InputMismatchException e) {
System.out.println("Wrong input, Integer type expected!");
}
}
}
import java.util.HashMap;
import java.util.InputMismatchException;
import java.util.Map;
import java.util.Scanner;public class SortUniqueInt { /**
* @param args
*/
public static void main(String[] args) {
Map<Integer, Integer> result = new HashMap<Integer, Integer>();
Scanner input = new Scanner(System.in);
try {
int n = input.nextInt();
while(n>0) {
Integer number = input.nextInt();
if(result.containsKey(number)) result.put(number, result.get(number)+1);
else result.put(number, 1);
n--;
}
System.out.println(result.size());
Integer[] sorted = mergeSort((Integer[])result.keySet().toArray());
for(Integer each : sorted)
System.out.println(each + " "+ result.get(each));
}catch (InputMismatchException e) {
System.out.println("Wrong input, Integer type expected!");
}
}
public static Integer[] mergeSort(Integer[] array) {
// implement your own merge sort algorithm
return array;
}
}