C++ - 알고리즘

mohadang·2022년 10월 10일
0

C++

목록 보기
19/48
post-thumbnail
post-custom-banner
  • 생각보다 사용할 일이 없다

    • 굳이 사용한다면 sort랑 find정도(find도 자체에 있는데...)...?,
  • 요소 범위에서 쓸 수 있는 함수들

    • [처음, 마지막)
    • 처음 <= X < 마지막
  • 배열 또는 몇몇 STL 컨테이너에 쓸 수 있음.

  • 반복자를 통해 컨테이너에 접근

    • 반복자가 있었기에 처음부터 끝까지 똑같은 방법으로 사용할 수 있음
  • 컨테이너의 크기를 변경하지 않음(따라서 추가 메모리 할당도 없음)

    • 처음 요소부터 끝까지 열거할 뿐이다.
    • ????
  • 알고리듬의 유형

    • 변경 불가 순차(sequence) 연산
      • find, for_each()
    • 변경 가능 순차 연산
      • copy, swap ???
    • 정렬 관련 연산
      sort, merge
    • 범용 수치 연산
      • accumulate()
  • vector를 다른 vector로 복사

std::vector<int> scores;
scores.push_back(10);
scores.push_back(10);
scores.push_back(10);

std::vector<int> copiedScores;

std::copy(scores.begin(), scores.end(), copiedScores.begin())
  • 여기까지 C++03, 모던 C++ !!!
    • C++03은 C++을 Java에 가깝게 만들려던 시도였음
    • 하지만 사실상 컨테이너만 살아남음
      • 많은 기능들이 충분한 고려 없이 나왔음
      • 그래서, 이 중 대부분이 C++1x에서 은퇴 당함
      • 아마 이것 때문에 정리하는 데 8년이나 걸린 듯...
profile
mohadang
post-custom-banner

0개의 댓글