영문자 순으로 문자열에서 문자를 정렬하려고합니다. 예 : program = agmoprr 이것은 내 코드이며 어떻게 수정해야하는지 알 수 없습니다. 어떤 힌트 또는 팁? :) 당신은 퀵를 해결하지 않을없이 당신이 재귀를해야 모두의문자열의 빠른 문자 정렬
public static String quicksort(String y){
String x = "";
char[] a = new char[y.length()];
int i = 0;
int j = a.length;
if(j-i < 0) return y;
int m = i+(j-i)/2;
char b = a[m];
a[m] = a[i];
a[i] = b;
int r = i+1;
for(int s = r; s!=j; s=s+1){
if(a[s] < b)
{
char tmp = a[s];
a[s] = a[r];
a[r] = tmp;
r=r+1;
}
}
r=r-1;
a[i] = a[r];
a[r] = b;
return x = quicksort(y);
}
오류/문제는 무엇인가? 컴파일되지 않으면 스택 추적을 제공하십시오. 출력이 정렬되지 않으면 테스트 케이스 (및 잘못된 출력)를 제공하십시오. –
컴파일 할 수 있지만 cmd를 통해 실행할 때 sorty.quicksort에서 수백 개가 실행됩니다 줄 문자는 b = a [m]입니다. –
이 코드는 매우 손상되었습니다. Quicksort에는 두 가지 재귀 지점이 필요합니다. 또한 입력 문자열의 데이터를 길이 'a'배열로 복사하지 않습니다. 이것은 멀리 일하고 있습니다. – rolfl