컨테이너를 정렬하기 위해 문자열을 입력하는 방법은 무엇입니까?

사라 R

다음 문자열이 있습니다. 1465883175.476876 RX 0x03 0x00000000

1465883175.606049 RX 0x00 0x00000000

1465883175.783562 RX 0x02 0x00000000

1465883175.906900 RX 0x03 0x00000000

1465883176.051490 RX 0x00 0x00000000

1465883176.201903 RX 0x03 0x00000000

이중 유형 (c ++) 인 첫 번째 데이터에 따라 정렬 할 컨테이너에 어떻게 입력 할 수 있습니까?

가장 효과적인 방법으로해야합니다.

std :: set 컨테이너 사용을 고려하지만이 컨테이너에서는 컨테이너의 두 요소가 동등한 키를 가질 수 없습니다. 어떤 경우 든 문자열은 동일한 숫자를 포함 할 수 있습니다.

알바로 데니스 아코 스타
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
#include <queue>

int main() {
  std::vector<std::string> s{
   "1465883175.476876 RX 0x03 0x00000000"
  ,"1465883175.606049 RX 0x00 0x00000000"
  ,"1465883175.783562 RX 0x02 0x00000000"
  ,"1465883175.906900 RX 0x03 0x00000000"
  ,"1465883176.051490 RX 0x00 0x00000000"
  ,"1465883176.201903 RX 0x03 0x00000000"};

  auto cmp = [](const std::string &f, const std::string &s) {
    double n1 = 0.0;
    size_t processed1{0};
    auto sub_str1 = f.substr(0, f.find(" "));
    try {
      n1 = std::stod(sub_str1, &processed1);
      if (processed1 != sub_str1.size()) {
        // TODO
      }
    } catch (std::invalid_argument ia) {
      // TODO
    } catch (std::out_of_range oor) {
      // TODO
    }

    double n2 = 0.0;
    size_t processed2{0};
    auto sub_str2 = s.substr(0, s.find(" "));
    try {
      n2 = std::stod(sub_str2, &processed2);
      if (processed2 != sub_str2.size()) {
        // TODO
      }
    } catch (std::invalid_argument ia) {
      // TODO
    } catch (std::out_of_range oor) {
      // TODO
    }

    return n1 > n2;
  };

  std::priority_queue<std::string, std::vector<std::string>, decltype(cmp)> q(cmp);

  for (const auto &c : s) {
    q.push(c);
  }
  while (!q.empty()) {
    std::cout << q.top() << "\n";
    q.pop();
  }
  return 0;
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 문제를 해결하기 위해 정렬 기능을 만드는 방법은 무엇입니까?

분류에서Dev

가장 높은 문자열 길이를 관리하기 위해 배열을 정렬하는 방법은 무엇입니까?

분류에서Dev

(PHP) 한 줄 출력으로 출력하기 위해 행 요소를 나누는 HTML 테이블 내용을 정렬하는 방법은 무엇입니까?

분류에서Dev

특수 문자를 지원하기 위해 VARCHAR 열을 정의하는 방법은 무엇입니까?

분류에서Dev

Docker 컨테이너에서 권한이없는 사용자를 위조하는 방법은 무엇입니까?

분류에서Dev

C에서 char 배열을 정렬하기 위해 Counting Sort를 구현하는 방법은 무엇입니까?

분류에서Dev

컨테이너를 통해 PostgreSQL을 사용하여 Phoenix를 시작하는 방법은 무엇입니까?

분류에서Dev

jQuery를 통해 컨테이너의 모든 자식 요소를 선택하는 방법은 무엇입니까?

분류에서Dev

jQuery를 통해 컨테이너의 모든 자식 요소를 선택하는 방법은 무엇입니까?

분류에서Dev

직렬화 오류를 방지하기 위해 ActiveJob을 재정의하는 방법은 무엇입니까?

분류에서Dev

문자열을 찾기 위해 줄이 많은 파일을 반복하는 방법은 무엇입니까?

분류에서Dev

서버 연결을위한 컨테이너를 준비하는 방법은 무엇입니까?

분류에서Dev

Javascript로 read-more 버튼을 표시하기 위해 컨테이너 위에 마우스를 올리는 방법은 무엇입니까?

분류에서Dev

다음 출력을 얻기 위해 UIDatePicker를 사용자 정의하는 방법은 무엇입니까?

분류에서Dev

Docker 커밋을 사용할 때 컨테이너 ID를 입력하지 않는 방법은 무엇입니까?

분류에서Dev

테스트를 위해 logcat에 문자열을 인쇄하는 방법은 무엇입니까?

분류에서Dev

파이프 출력에서 하위 문자열을 에코하는 방법은 무엇입니까?

분류에서Dev

컨테이너 자체를 중지하는 방법은 무엇입니까?

분류에서Dev

동일한 Kubernetes 포드의 다른 컨테이너를 통해 컨테이너의 모든 트래픽을 라우팅하는 방법은 무엇입니까?

분류에서Dev

올바른 기본 정렬을 위해 내 Cassandra 키를 선택하는 방법은 무엇입니까?

분류에서Dev

CLI를 통해 Bluemix Docker 컨테이너 "크기"를 지정하는 방법은 무엇입니까?

분류에서Dev

목록을 정렬하기 위해 Scrapy의 ItemLoader에서 출력 프로세서를 사용하는 방법은 무엇입니까?

분류에서Dev

iOS-자식 컨테이너를 통해 부모 뷰 컨트롤러의 이미지 뷰를 설정하는 방법은 무엇입니까?

분류에서Dev

대문자 앞에 모든 소문자 알파벳 단어를 가져 오기 위해 목록을 정렬하는 방법은 무엇입니까?

분류에서Dev

문자열의 숫자를 기준으로 배열을 정렬하는 방법은 무엇입니까?

분류에서Dev

제품 입력을 확인하기 위해 조건부 RegEx를 만드는 방법은 무엇입니까?

분류에서Dev

GDB에 명령을 입력하기 위해 expect 스크립트를 만드는 방법은 무엇입니까?

분류에서Dev

여러 입력을 얻기 위해 fgets 및 strtok를 사용하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 특정 문자열 뒤에 쉼표로 숫자를 찾기 위해 정규식을 사용하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    이 문제를 해결하기 위해 정렬 기능을 만드는 방법은 무엇입니까?

  2. 2

    가장 높은 문자열 길이를 관리하기 위해 배열을 정렬하는 방법은 무엇입니까?

  3. 3

    (PHP) 한 줄 출력으로 출력하기 위해 행 요소를 나누는 HTML 테이블 내용을 정렬하는 방법은 무엇입니까?

  4. 4

    특수 문자를 지원하기 위해 VARCHAR 열을 정의하는 방법은 무엇입니까?

  5. 5

    Docker 컨테이너에서 권한이없는 사용자를 위조하는 방법은 무엇입니까?

  6. 6

    C에서 char 배열을 정렬하기 위해 Counting Sort를 구현하는 방법은 무엇입니까?

  7. 7

    컨테이너를 통해 PostgreSQL을 사용하여 Phoenix를 시작하는 방법은 무엇입니까?

  8. 8

    jQuery를 통해 컨테이너의 모든 자식 요소를 선택하는 방법은 무엇입니까?

  9. 9

    jQuery를 통해 컨테이너의 모든 자식 요소를 선택하는 방법은 무엇입니까?

  10. 10

    직렬화 오류를 방지하기 위해 ActiveJob을 재정의하는 방법은 무엇입니까?

  11. 11

    문자열을 찾기 위해 줄이 많은 파일을 반복하는 방법은 무엇입니까?

  12. 12

    서버 연결을위한 컨테이너를 준비하는 방법은 무엇입니까?

  13. 13

    Javascript로 read-more 버튼을 표시하기 위해 컨테이너 위에 마우스를 올리는 방법은 무엇입니까?

  14. 14

    다음 출력을 얻기 위해 UIDatePicker를 사용자 정의하는 방법은 무엇입니까?

  15. 15

    Docker 커밋을 사용할 때 컨테이너 ID를 입력하지 않는 방법은 무엇입니까?

  16. 16

    테스트를 위해 logcat에 문자열을 인쇄하는 방법은 무엇입니까?

  17. 17

    파이프 출력에서 하위 문자열을 에코하는 방법은 무엇입니까?

  18. 18

    컨테이너 자체를 중지하는 방법은 무엇입니까?

  19. 19

    동일한 Kubernetes 포드의 다른 컨테이너를 통해 컨테이너의 모든 트래픽을 라우팅하는 방법은 무엇입니까?

  20. 20

    올바른 기본 정렬을 위해 내 Cassandra 키를 선택하는 방법은 무엇입니까?

  21. 21

    CLI를 통해 Bluemix Docker 컨테이너 "크기"를 지정하는 방법은 무엇입니까?

  22. 22

    목록을 정렬하기 위해 Scrapy의 ItemLoader에서 출력 프로세서를 사용하는 방법은 무엇입니까?

  23. 23

    iOS-자식 컨테이너를 통해 부모 뷰 컨트롤러의 이미지 뷰를 설정하는 방법은 무엇입니까?

  24. 24

    대문자 앞에 모든 소문자 알파벳 단어를 가져 오기 위해 목록을 정렬하는 방법은 무엇입니까?

  25. 25

    문자열의 숫자를 기준으로 배열을 정렬하는 방법은 무엇입니까?

  26. 26

    제품 입력을 확인하기 위해 조건부 RegEx를 만드는 방법은 무엇입니까?

  27. 27

    GDB에 명령을 입력하기 위해 expect 스크립트를 만드는 방법은 무엇입니까?

  28. 28

    여러 입력을 얻기 위해 fgets 및 strtok를 사용하는 방법은 무엇입니까?

  29. 29

    파이썬에서 특정 문자열 뒤에 쉼표로 숫자를 찾기 위해 정규식을 사용하는 방법은 무엇입니까?

뜨겁다태그

보관