hljs.initHighlightingOnLoad();

🌈 Programming/C++

reverse(first, last) 는 algorithm 라이브러리의 함수로 배열 등의 요소를 거꾸로 뒤집는 동작을 말합니다. [first, last) first를 포함한 인덱스부터 last 바로 전 인덱스까지의 요소들을 거꾸로 뒤집습니다. '인덱스'를 집어넣어야 하는 것이 핵심입니다. 배열 reverse(a, a+5); //a배열의 처음부터 끝까지 뒤집음 (a[5] 배열) reverse(b+1, b+4); //b배열의 두번째 요소부터 네번째 요소까지 뒤집음 (b[5] 배열) string, vector reverse(str.begin(), str.end()); //string의 처음부터 끝까지 뒤집음 reverse(v.begin()+1, v.end()-1); //벡터의 두번째 요소부터 네번째 요소까지 ..
C++에서 정렬 알고리즘은 직접 구현보다는 STL에서 제공하는 sort( ) 함수를 사용하는 것이 효율적입니다. sort( ) 함수는 헤더를 include 하면 사용하실 수 있습니다. 이 함수의 시간 복잡도는 nlogn 입니다. intro sort라는 정렬 방식을 바탕으로 구현되어 heap sort와 insertion sort를 섞은 방식입니다. 최악의 경우 n^2 시간복잡도를 가지는 quick sort 와 달리 최악의 경우에도 O(nlogn)을 보장합니다. #include #include using namespace std; bool desc(int a, int b) { return a>b; } int main() { int arr[10] = {3, 5, 9, 7, 8, 1, 4, 2, 10, 6}; ..
프로그래머가 지녀야 할 가장 중요한 능력은 문제 해결 능력이다. 다음은 C / C++ 에서 "표준 입력으로부터 입력받은 길이를 알 수 없는 문자열 저장하기"의 전형적인 문제의 예이다. char s[LENGTH]; scanf("%s", s); scanf ( ) 함수는 인자로 주어지는 형식지정자(format specifier)를 파싱해야 하는 오버헤드가 따른다. 공백 문자가 나타나면 읽기를 중단한다. 형 안정성을 보장받을 수 없다. ("%s" 대신 "%d"로 오타라도 낸다면?) 문자열의 예상되는 크기를 프로그래머도 알고 있어야 한다. char s[LENGTH]; gets( s ); gets( ) 함수는 문자열을 입력받는 데에 거의 완벽한 기능을 제공한다. scanf( ) 함수와 같이 형식 지정자를 파싱해야 ..
#include puts( )는 표준 입출력 함수를 위한 함수 원형들이 들어있는 헤더 파일 에 속해있다. 따라서 반드시 전처리 지시자 #include 를 통해 를 입력해야 한다. 2. 함수 puts( ) 함수 원형 : char *puts(const char* string); 오직 문자열(string)만을 출력하는 함수이다. 문자열을 출력한 후 자동으로 줄 바꿈을 하는 특징이 있다. 3. 함수 printf( ) 함수 원형 : int printf (const char *format, ...); 출력하는데 가장 많이 쓰이는 함수인 printf( )는 문자열 및 다양한 정보를 서식화 하여 출력하는 함수이다. puts( )와 다르게 문자열 뿐만 아니라 정수, 실수, 문자를 출력할 수 있어 사실상 함수 puts( ..
1. Visual C++ '가변 길이 배열' 사용할 수 없다. C89 또는 C90 표준에 적용된 C 컴파일러는 배열을 사용해 변수를 선언할 때 아래와 같이 배열 길이를 상수로 사용해야 한다. int data[5] ; 즉, 다음과 같이 사용하면 오류가 발생한다. int size = 5 ; int data[size] ; 하지만 C99 표준 문법에 위와 같은 표현이 사용될 수 있도록 적용되었고, 이를 '가변 길이 배열' (Variable-Length Array)이라고 부른다. C11 버전에서는 VLA 지원은 필수가 아니다. 다시 말해 C11이 포함된 Visual C++도 C99 표준이 전부 적용된 것이 아니기 때문에 Visual Studio 2017에서 '가변 길이 배열' 또한 컴파일러에 따라 지원 여부가 달..
nerowiki
'🌈 Programming/C++' 카테고리의 글 목록 (4 Page)