그냥 게임개발자

vector에 struct 정렬 본문

내 개인적인 공부/자료구조

vector에 struct 정렬

sudoju 2024. 4. 14. 18:21

 

vector에 struct라는 타입을 넣고 정렬을 한 번 해보겠습니다.

 

 

참 구조체가 할 게 많아요.

 

좋은 애들..

 

진짜 좋은....

힘냅시다!

#include <iostream>
#include <vector>

using namespace std;

struct point
{
    int y, x;
}

bool Compare(const Point& a, const Point& b)
{
    return a.x > b.x;
}

int main()
{
    vector<Point> vec;
    
    for (int i = 10; i >= 1; --i)
    {
        vec.push_back( { i, 10 - i } );
    }
    
    sort(vec.begin(), vec.end(), Compare);
    
    for (auto it : vec)
    {
        cout << it.y << " : " << it.x << '\n';
    }
    
    return 0;
}

 

여기서보면 x를 기준으로 내림차순으로 정렬합니다.

그러면 결과값은 아시겠죠?

y는 오름차순 x는 내림차순으로 정렬이 될겁니다.

물론 y의 정렬은 안해줬지만 값을 그렇게 적어놨기 때문에 그렇게 결과값이 나올겁니다.

 

 

잘 나왔네요!

 

아 그리고 참고의 말씀을 드리자면 커스텀한  자료구조를 만들 때에는 보통 class나 struct를 쓰는데

class의 멤버변수는 기본적으로 private이고 struct는 기본적으로 public입니다.

class는 상속이 가능하고 struct는 안되요!

 

끄으틍

'내 개인적인 공부 > 자료구조' 카테고리의 다른 글

구조체 우선순위 큐  (0) 2024.04.14
priority queue  (0) 2024.04.14
struct  (0) 2024.04.14
deque  (0) 2024.04.14
queue  (0) 2024.04.14