c++ 코테용 유용한 함수들

묘르·2023년 3월 22일
0

C++

목록 보기
1/1

1. string

  • 대소문자 변환
str[i] = tolower(str[i]);
str[i] = toupper(str[i]);
  • 정수, 실수를 문자열로 변환
std::string str = std::to_string(num);
  • 문자열을 정수, 실수로 변환
int num = std::stoi(str);

stoi : string to int
stol : string to long
stoll : string to long long
stof : string to float
stod : string to double
stold : string to long double
stoul : string to unsigned int
  • 문자열 정렬
#include<algorithm>

std::sort(str.begin(), str.end(), 인수);
less() ~ 오름차순
greater() ~ 내림차순
  • 특정 문자열을 모두 찾아서 바꾸기
#include <regex>
str = regex_replace(str, regex("키워드"), "바꿀 문자열");
  • 부분 문자열 추출
str = str.substr(시작 인덱스, 크기);

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

2. vector

  • 벡터 생성과 함께 초기화
vector<int> vec(크기, 값);   	// 모두 같은 값으로 초기화
vec.assing(크기, 값); 			// 생성 이후에 초기화
vector<vector<int>> vec(행rows, vector<int>(열cols, init_value)); 	//이중 벡터
  • 미리 공간 할당 하기
 std::vector<int> vec;
 vec.reserve(100); // 공간을 미리 100개 할당
  • 벡터 삭제
vec.erase(vec.begin() + i);
vec.pop_back(); ///끝 요소 삭제
  • 벡터 값 추가
vector<int>::iterator iter;
iter = vec.begin();

vec.insert(iter, 값); //원하는 위치에 추가
vec.push_back();
  • set을 vector로 바꾸기
vector<int> vec(s.begin(), s.end());

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

3.queue

  • 우선순위 큐 만들기
#include <queue>
#include <algorithm>

priority_queue<int> qp               				// 최대 힙
priority_queue<int, vector<int>, greater<int>> qp 	// 최소 힙

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

4. sort

람다 함수를 이용한 sort

stable_sort(failureRate.begin(), failureRate.end(),
		[](const pair<int, double>& a, const pair<int, double>& b)
		{	return a.second > b.second; });

공부할 것 ~ <sstream
<algorithm
<regex 정규식
람다함수

         대입연산자 : 복사 or 주소값?
profile
안녕하세요 :)

0개의 댓글