STL queue && priority_queue
먼저 용기 라 는 부분 을 데이터 구조 에서 상세 하 게 소개 하고 구체 적 으로 서술 하지 않 습 니 다.
정의.
queue name;
quue 접근
대기 열 자체 가 선진 적 으로 먼저 나 온 제한 적 인 데이터 구조 이기 때문에 front () 를 통 해 팀 의 첫 번 째 요 소 를 방문 하거나 back () 을 방문 하여 팀 의 꼬리 요 소 를 문의 할 수 밖 에 없다.
queue 상용 함수
범위 우선 검색 이 필요 할 때 front () 와 pop () 함 수 를 사용 하기 전에 empty () 로 대기 열 이 비어 있 는 지 여 부 를 판단 해 야 합 니 다.
priority_queue
우선 대기 열의 밑 단 은 더미 로 이 루어 집 니 다. 우선 대기 열 에서 첫 번 째 요 소 는 현재 대기 열 에서 우선 순위 가 가장 높 은 것 입 니 다. 언제든지 대기 열 에 (push) 요 소 를 추가 합 니 다. 우선 대기 열 밑 에 있 는 데이터 구조 더미 (heap) 는 수시로 구 조 를 조정 하여 매번 의 첫 번 째 요 소 를 우선 순위 가 가장 큽 니 다.
정의.
priority_queue name;
방문 하 다.
우선 대기 열 은 front () 와 back () 함수 가 없 으 며, top () 함수 로 만 팀 의 첫 번 째 요 소 를 방문 할 수 있 습 니 다.
priority_queue 상용 함수
우선 대기 열 내 요 소 를 정의 하 는 우선 순위 가 우선 대기 열 을 잘 활용 하 는 관건 입 니 다.
//
priority_queue q;
priority_queue, less > q;
vector 는 바 텀 데이터 구조 더미 (heap) 를 탑재 하 는 용 기 를 사용 합 니 다. 앞 에 double 또는 char 뒤에 vector 가 있 으 면 vector less 는 숫자 가 큰 우선 순위 가 클 수록 great 는 숫자 가 작은 우선 순위 가 클 수록 가장 작은 요 소 를 팀 의 맨 위 에 놓 습 니 다.
struct fruit{
string name;
int price;
friend bool operator < (fruit f1, fruit f2) { //friend < ,
return f1.price < f2.price;
}
};
// priority_queue q;
// , return f1.price > f2.price
// sort cmp
// great<> cmp
struct fruit {
string name;
int price;
}f1, f2, f3;
struct cmp{
bool operator() (fruit f1, fruit f2){
return f1.price > f2.price;
}
};
...
priority_queue, cmp> q;
...
구조 체 내의 데이터 가 비교적 크 면 (예 를 들 어 문자열 이나 배열 이 나타 나 면) 인용 을 사용 하여 효율 을 높이 는 것 을 권장 합 니 다. 비교 류 는 'const', '&' 를 추가 해 야 합 니 다.
friend bool operator < (const fruit &f1, const fruit &f2){
return f1.price < f2.price;
}
bool operator () (const fruit &f1, const fruit &f2){
return f1.price < f2.price;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.