알파벳 정렬 순서를 사용하여 알파벳순으로 이름을 정렬하는 데 문제가 있습니다. 예를 들어 알파벳순으로 정렬하고 번호 입력을 0001 Alex Smith, Gregory John, Alex Smith, Adam Richard, Alex Ryan
과 같이 추가한다고 가정합니다. 지금까지집계 정렬을 사용한 이름 정렬
아담 리차드
알렉스 라이언
알렉스 스미스
그레고리 존
내 코드 :
public class Names
{
//private static int[] c;
public ArrayList<String> getUserInput()
{
ArrayList<String> names = new ArrayList<String>();
Scanner in = new Scanner(System.in);
while (in.hasNext())
{
names.add(in.next());
System.out.println(names);
}
in.close();
return names;
}
private static CountingSort(int A[], int B[], int k[])
{
int i;
int C[0];
for(i = 0; i <= k; i++){
C[i]=0;
}
for(int j=1; j <= A.length;){
C[A[j]] = C[A[j]] + 1;
}//C[i] now contains numbers of elements equals to i
for(int i=1; i < k; i++){
C[i] = C[i] + C[i - 1];
}
for(int j = A.length; j--){
B[C[A[j]]] = A[j];
C[A[j]] = C[A[j]] - 1;
}
}
}
[계산 방식] (http://en.wikipedia.org/wiki/Counting_sort)은 작은 입력 범위 (예 : 작은 정수)에만 유용합니다. 기수 정렬을 의미 했습니까? –
언어는 무엇입니까? –
crossposted http://www.daniweb.com/software-development/java/threads/384308 – mKorbel