[C++] 알고리즘 정리

개발 / / 2020. 7. 16. 20:49

 array 

int main()
{
    int* array=new int[n];				// 동적할당
    memset(array, 0, sizeof(array));	// 0으로 초기화 (다른 숫자는 안됨)
]

 map 

초기화 하지 않으면 포인터는 NULL,  int는 0으로 초기화

#include <map>
#include <iostream>
#include <string>

int main(){
    map<string, int> m;
    m["hi"] = 100;				// 추가하기
    m["hello"] = 10;
    m["bye"] = 13;
    
    m.erase("hello");			// 삭제하기
    
    map<string, int>::iterator it;			// 반복문
    for (it = m.begin(); it != m.end(); it++) {
        cout << it->first << " " << it->second << endl;
    }
    
    if(m.find("hi")!=m.end()){			// 존재여부 확인
        cout << "존재합니다" << endl;
    }
    
    cout<<m.size()<<endl;		// 사이즈
    cout<<m["bye"]<<endl;		// 접근
}

 vector 

#include<iostream>
#include<vector>
using namespace std;
 
int main(void){
    vector<int> v;
    
    v.push_back(1);
    v.push_back(2);
    
    v.pop_back();
    
    sort(v.begin(), v.end());			// 정렬
    
    v.insert(1,2); // 1번째 위치에 2값을 삽입 (삽입한 곳의 iterator 반환)
    
    vector<int>::iterator it;			// 반복문
    for(it = v.begin(); it != v.end() ; it++){
        cout << *it << " ";
    }
	
    v.erase(it);
	v.size();			// 원소 개수
	v.clear();			// 전체 삭제
    return 0;    
}

 set 

중복허용 X, 자동정렬(default 오름차순)

 int main(){
 	set<char> s;
    s.insert("A");
    
    if(s.find("A")!=s.end()){		// 찾기
        cout << "있음" << endl;
    }
 }

 string 

알파벳 26개 (A-Z:65-90 / a-z:97-122)

#include <algorithm>
#include <regex>

int main(){
	string str = "str";
	transform(str.begin(), str.end(), str.begin(), ::tolower);		// 소문자로
    
    char ch1;
    int num = (int)ch1-48;			// char -> int
    to_string(num);				// int -> string
    
    string a = "0123456789abcdefghij";
    a.substr(10);		// abcdefghij
    a.substr(5, 3);		// 567
    
    string answer = regex_replace(a, regex("[\.]{2,}"), ".");	// regex
}

'개발' 카테고리의 다른 글

SSAFY 6기 합격후기 (전공자)  (0) 2021.06.30
[DB] SQL 문법  (0) 2021.04.12
[Python] 알고리즘 정리  (0) 2021.02.04
프레임워크 vs 라이브러리  (0) 2020.02.07
JWT(JSON Web Token) 개념  (0) 2020.02.03
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기