std::queue
또는 std::list
중 하나를 사용하여 구현할 수 있습니다. 내가 사용하는 것과 다른 점이 있습니다. std::queue
은 기능이 적어서 std::list
보다 가볍습니다?목록 대신로드 대기열
답변
내가 사용하는 것과 다른 점은 무엇입니까?
예 - 여러 가지 방법으로 가능합니다. 주된 고려 사항은 가독성입니다. std::deque
을 사용하면 코드의 독자에게 컨테이너의 중간이 아니라 끝에서만 삽입 및 삭제하려는 의도를 전달할 수 있습니다. 이것은 다른 사람의 코드를 읽을 때 알아두면 좋은 일입니다.
두 번째 고려 사항은 컨테이너 자체의 구현입니다. 즉, 요소를 개별적으로 할당하고 저장하는 목록과 달리 std::deque
은 공간을 절약하기 위해 요소를 청크에 저장합니다. 이렇게하면 컨테이너의 설치 공간이 줄어들거나 약간 더 빨라질 수 있습니다. 반면에 큐 전체를 반복 할 때 비효율적 일 수 있습니다.
그러나 효율 고려 사항은 최적화 문제이기 때문에 초기 디자인에서 고려해야 할 요소가 아니어야합니다.
최선의 방법은 최상의 가독성을 위해 노력하는 것입니다. 가능한 한 가장 깨끗한 방식으로 코드 독자에게 의도를 전달하는 컨테이너를 사용하십시오.
'deque'가 아니라'dequeue' :) – us2012
@ us2012 네 말이 맞아, 고마워! – dasblinkenlight
가벼운 기능이 적은 것 같습니다 ...?
더 많은 함수가 더 무거운 몸무게를 만들지 않습니다. 시나리오에서 가장 합리적인 컬렉션을 사용합니다. 선입 선출 방식으로 항상이 항목에 액세스하는 경우 std::queue
이 적합합니다. 이중 연결 목록 기능이 필요한 경우 std::list
을 사용하십시오.
- 1. 대기열 목록 만들기
- 2. 대기열 목록 메서드
- 3. Java의 대기열 및 목록 ADT
- 4. 대기열 연결된 목록 앞 메서드
- 5. 생산자 - 소비자 대기열 - std :: 대기열 또는 사용자 작성 연결 목록?
- 6. Delphi : 스레드 작업 스레드 목록 - 대기열
- 7. 노드 대기열 (링크 된 목록) C++
- 8. 순환 대기열 및 순환 연결 목록
- 9. ActiveMQ에서 대기열 이름 목록 가져 오기
- 10. C# 컨테이너 - 벡터,. 목록, 대기열, 스택 등
- 11. 우선 순위 대기열 대 연결된 목록 Java
- 12. C++ Vector/우선 순위 대기열 목록?
- 13. 대기열 및 대기열 제거 방법의 대기열 계수는?
- 14. 대기열 목록에서 최소 대기열 수 얻기
- 15. 대기열 대 준비 대기열
- 16. 트랜잭션 대기열/대기열 풀기
- 17. 레일 : 대기열 대기열
- 18. 대기열, 지연, 대기열
- 19. 대기열
- 20. 대기열
- 21. 대기열
- 22. 대기열 시뮬레이션
- 23. 여러 대기열 및 작업 대기열
- 24. Linux의 대기열 대기열 크기는 얼마입니까?
- 25. 일반 대기열 대 SEDA 대기열
- 26. cocos2d 기본 그림 대신로드 장면으로 프로그램을 시작하는 방법
- 27. $(). 전체 페이지를로드하는 대신로드()하지만 모든 페이지에 메뉴를 유지해야합니다.
- 28. 왜 ajax-loader.gif가 ajax-loader.png 대신로드 될 수 있습니까?
- 29. SSL 인증서를 서버 대신로드 밸런서에 설치하면 보안 위험이 있습니까?
- 30. URL 대기열 작성
당신이하는 일에 전적으로 달려 있습니다 ... – Yuushi
[C++ 11에서 표준 라이브러리 컨테이너를 효율적으로 어떻게 선택합니까?] (http://stackoverflow.com/questions/10699265/how-can- i-efficient-select-a-standard-library-in-c11) – sehe
@Yuushi 사용하기에 더 가벼운, 또는 중요하지 않은 push 또는 :: pop으로 특정 구현을 수행 할 수 있다면? 그리고 내가하고있는 일이 무엇을 의미합니까? 무슨 상관이야? 내가 바나나를 먹으면, 가벼운 대기열이됩니까 ?? – navderm