그냥 게임개발자
vector에 struct 정렬 본문
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 |