OOP 없이 메소드를 잘 구현하십시오. 멀리 가지 않기 위해 SB에서 "빠른 정렬"방법을 사용합니다 (많은 정렬 알고리즘 이 있습니다. 누군가 다른 알고리즘의 시각화와 같은 비디오를 던졌습니다. 어떤 상황에서는 각각이 더 낫지 만 이것이 최적이며 가장 널리 사용됨) 구조에 맞게 변경합니다. 여기에서 어느 정도 비교할 구조의 필드를 선택해야 합니다. 이와 같은 것(일부 라인에 대해 your_value )
//+------------------------------------------------------------------+//| Method QuickSort |//+------------------------------------------------------------------+void CArrayString::QuickSort( int beg, int end, constint mode)
{
int i,j;
string p_string;
stringYOUR_STRUCT t_string;
//--- checkif (beg< 0 || end< 0 )
return ;
//--- sort
i=beg;
j=end;
while (i<end)
{
//--- ">>1" is quick division by 2
p_string=m_data[(beg+end)>> 1 ] .your_value ;
while (i<j)
{
while (m_data[i] .your_value <p_string)
{
//--- control the output of the array boundsif (i==m_data_total- 1 )
break ;
i++;
}
while (m_data[j] .your_value >p_string)
{
//--- control the output of the array boundsif (j== 0 )
break ;
j--;
}
if (i<=j)
{
t_string=m_data[i];
m_data[i++]=m_data[j];
m_data[j]=t_string;
//--- control the output of the array boundsif (j== 0 )
break ;
j--;
}
}
if (beg<j)
QuickSort(beg,j);
beg=i;
j=end;
}
}
개인적으로 저는 오래전에 CObject에서 상속된 CStructWrapper 클래스를 직접 작성했으며(CMyObject는 사실 추가 디버깅 필드가 있는 동일한 것입니다) 정렬을 위해 표준 함수를 사용합니다.
구조체 배열이 필요한 경우 이 템플릿을 기반으로 하는 후속 클래스도 선언합니다. 그 안에 구조의 필요한 필드를 비교하기 위한 함수를 선언합니다. 그런 다음 - 정렬과 함께 객체 배열의 표준 클래스를 사용합니다.
생성된 개체는 할당 연산자를 사용하여 구조에서 직접 복사할 수 있습니다. 필요한 경우 복사합니다.
불행히도, 나는 아직 당신의 코드를 이해할 만큼 OOP에 강하지 않습니다.
불행히도, 나는 아직 당신의 코드를 이해할 만큼 OOP에 강하지 않습니다.
내부에 구조를 포함하는 클래스일 뿐입니다.
그리고 객체와 구조 사이에 직접 대입 기호(=)를 사용할 수 있게 해주는 모든 종류의 복사 연산자.
구조의 배열이 필요할 때 그러한 객체의 배열을 만듭니다. 각각은 필요한 구조를 가지고 있습니다. 또한 이 클래스는 정렬 및 검색에 필요한 비교 기능을 정의합니다. 모든 것, 그러면 CArrayObj 클래스의 표준 기능이 사용됩니다.
불행히도, 나는 아직 당신의 코드를 이해할 만큼 OOP에 강하지 않습니다.
OOP 없이 메소드를 잘 구현하십시오. 멀리 가지 않기 위해 SB에서 "빠른 정렬"방법을 사용합니다 (많은 정렬 알고리즘 이 있습니다. 누군가 다른 알고리즘의 시각화와 같은 비디오를 던졌습니다. 어떤 상황에서는 각각이 더 낫지 만 이것이 최적이며 가장 널리 사용됨) 구조에 맞게 변경합니다. 여기에서 어느 정도 비교할 구조의 필드를 선택해야 합니다. 이와 같은 것(일부 라인에 대해 your_value )
불행히도, 나는 아직 당신의 코드를 이해할 만큼 OOP에 강하지 않습니다.
그러나 그것을 위해 ***와 ***를 잘 구별할 수 있습니까?
불행히도 이제 fxsaber가 제안한 방법조차도 작동을 멈췄습니다.
그리고 구조체 배열 을 정렬하는 방법을 찾고 있습니다. 작업 옵션이 있는 사람이 있습니까?
그런 언어 제한 우회가 가능하다고 생각합니다.
그러나 그것을 위해 ***와 ***를 잘 구별할 수 있습니까?
사람들처럼 ... 당신이 나를 누군가와 혼동하는 것 같습니다 ...
사람들처럼 ... 당신이 나를 누군가와 혼동하는 것 같습니다 ...
그것은 단지 요점, "보이는" 것입니다. 그러나 나는 혼동하지 않습니다.
그것은 단지 요점, "보이는" 것입니다. 그러나 나는 혼동하지 않습니다.
그리고 이 "강판"은 무엇을 위한 것입니까? 주제와 어떤 관련이 있습니까?
그리고 이 "강판"은 무엇을 위한 것입니까? 주제와 어떤 관련이 있습니까?
그리고 뭐? 이를 위해 별도의 스레드를 시작하시겠습니까?
OOP 없이 메소드를 잘 구현하십시오. 멀리 가지 않으려면 SB에서 "빠른 정렬"방식을 취하십시오.
그런 언어 제한 우회가 가능하다고 생각합니다.
고마워 친구!
그는 그를 자신의 구멍으로 끌고 갔다.