|
클래스도 재귀호출방법은 똑같습니다.
일반적인 방법을 그대로 쓰면 됩니다.
단지, 님이 만드신 소스에는 로직구성자체가 잘못됐네요.
메인에서 함수 호출시 어떤인자를 받을 것인지..
클래스에서는 어떻게 사용할 것인지를 다시 계획하시고 ..
다시 구성해보세요.
그리고 data라는 변수는 클래스에서만 사용할 수 있게 선언해두셔서
메인함수에서는 직접 접근하지 못합니다.
sort함수의 인수를 없애고 data를 그냥 계산하시던지..
지금 형대로 sort함수를 유지할려면 함수를 오버로딩 시키세요.
인수 없는 함수하구 인수 있는 함수로...
아니면 Input함수대신 외부에서 sort함수의 인수를 받아들이는 방법을 취하십시오.
그리고 님이 만드신 sort함수는 재귀호출이 필요 없습니다.
다음으로 바꾸면 같은 기능을 수행하지요.
인수 a는 몇번째부터 정렬할건지 지정
인수 b는 몇번째까지 정렬할 것인지 지정
void quick::sort(int a=0,int b){
int i,j;
int temp;
for(i=a; i<b; i++)
for(j=i+1; j<b-1; j++)
{
if(data[i]>data[j])
{
temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
|