• 구조체 vector, sort
    C++ 2021. 8. 28. 13:47

     

    struct score {
    	string name;
    	int kor, eng;
    };
    
    bool cmp(score a, score b) {
    	// kor 값이 같을 경우 eng 값이 커지는 순서로 정렬
    	if (a.kor == b.kor)
    		return a.eng < b.eng;
            
    	// 아닐 경우 kor 값이 작아지는 순서로 정렬
    	return a.kor > b.kor;
    }
    
    int main() {
    	int n;
    	cin >> n;
        
    	vector<score> v(n);
        
    	for (i = 0; i < n; i++) {
    		cin >> v[i].name >> v[i].kor >> v[i].eng;
    	}
        
    	sort(v.begin(), v.end(), cmp);
    }

     

    pair를 사용했을 때보다 구조체를 사용했을 때 시간이 쬐끔 더 오래 걸린다.

     

    C++ sort (algorithm 헤더 내 포함)

    < 오름차순

    > 내림차순

    최악일 경우에도 nlogn 보장

    'C++' 카테고리의 다른 글

    find  (0) 2021.08.28
    map  (0) 2021.07.11
    입출력 조작자 (Manipulator)  (0) 2021.07.11
    stoi() - string to int  (0) 2021.07.06
    pair, vector  (0) 2021.07.06

    댓글

ABOUT ME

공부한 것을 기록하기 위해 블로그를 개설했습니다. 관심 분야는 ROS와 머신러닝입니다.

VISIT

/