STL sort 연산을
배열의 값자체가아니라
포인터배열들이 가르키고잇는 값을 기준으로 정렬하고싶은데 이게 어렵네
bool tmp(const int& tmp1,const int& tmp2)
{
if(*tmp1 < *tmp2) return true;
else if(*tmp1 == *tmp2)
{
*tmp2=INF;
return *tmp1 < *tmp2;
}
else return false;
}
어떻게해야할가 으으음
STL sort 연산을
배열의 값자체가아니라
포인터배열들이 가르키고잇는 값을 기준으로 정렬하고싶은데 이게 어렵네
bool tmp(const int& tmp1,const int& tmp2)
{
if(*tmp1 < *tmp2) return true;
else if(*tmp1 == *tmp2)
{
*tmp2=INF;
return *tmp1 < *tmp2;
}
else return false;
}
어떻게해야할가 으으음
&에 왜 *를 넣고있음
int *a[ 10 ]; // 이런식으로 되어있는 포인터 배열에서 포인터 배열들이 가르키고 있는 값을 기준으로 정렬하고 싶은거??? bool tmp(const int* &tmp1, const int* &tmp2) <- 이런식으로 되어야 되지 않을까?
저게 맞는 문법이여 ??
안되넹 그냥 다른방법으로 하구잇엉 클래스로 접근중 그게 낮넹
int *a[ 10 ]; bool comp(int *tmp1, int *tmp2) { return *tmp1 < *tmp2; } std::sort(a, a + 10, comp); 이런식으로 하니까 되는데...