C

C/C언어 코드 기록

문자열 연결 함수 만들기. (strcat( )함수와 동일한 기능)

형식 #include char *strcat(char *string1, const char *string2); char *strncat(char *string1, const char *string2, size_t count); 설명 - strcat() 함수는 string2를 string1에 연결하고 널 문자로 결과 스트링을 종료합니다. - strcat() 함수는 널로 끝나는 스트링에서 작동합니다. 함수에 대한 스트링 인수는 스트링 끝을 나타내는 널 문자(\0)를 포함해야 합니다. 길이 검사는 수행하지 않습니다. string2가 리터럴 스트링일 수 있지만 string1 값에 대한 리터럴 스트링을 사용해서는 안 됩니다. - string1의 기억장치가 string2의 기억장치와 겹치면 작동은 정의되지 않습니다..

C/C언어 코드 기록

문자열 비교 함수 만들기. (strcmp( )함수와 동일한 기능)

형식 #include int strcmp(const char *string1, const char *string2); 설명 strcmp() 함수는 string1 및 string2를 비교합니다. 함수는 널로 끝나는 스트링에서 작동합니다 함수에 대한 스트링 인수는 스트링 끝을 나타내는 널 문자(\0)를 포함해야 합니다. 리턴값 strcmp( ) 함수 구현 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include int StringCompare(const char *p_str1, const char *p_str2) { while (1) { // 같은 순서에 있는 문자가 서로 다르면 비교를 중단. if (*p_str1 != *p_str2) ..

C/Data Structure

Quick Sort(퀵 정렬)

퀵 정렬은 기준을 설정한 다음 큰 수와 작은 수를 교환한 후 리스트를 반으로 나누는 방식으로 동작합니다. 퀵 정렬은 피벗(pivot)이 사용됩니다. 큰 숫자와 작은 숫자를 교환할 때, 교환하기 위한 '기준'을 바로 피벗(pivot)이라고 합니다. 퀵 정렬을 수행하기 전에는 피벗을 어떻게 설정할 것인지 미리 명시해야 합니다. 피벗을 설정하고 리스트를 분할하는 방법에 따라서 여러가지 방식으로 퀵 정렬을 구분합니다. 아래 사진처럼 데이터가 있습니다. 피벗을 서정한 뒤에는 왼쪽에서부터 피벗보다 큰 데이터를 찾고, 오른쪽에서부터 피벗보다 작은 데이터를 찾습니다. 그 다음 큰 데이터와 작은 데이터의 위치를 서로 교환해줍니다. 이러한 과정을 반복하면 '피벗'에 대하여 정렬이 수행됩니다. Step 1) 리스트의 첫 번..

C/Data Structure

Insertion Sort(삽입 정렬)

선택 정렬은 알고리즘 문제 풀이에 사용하기에는 느린 편입니다. 삽입 정렬은 선택 정렬처럼 동작 원리를 직관적으로 이해하기 쉬운 알고리즘입니다. 선택 정렬에 비해 삽입 정렬은 구현 난이도가 높지만 실행 시간 측면에서 더 효율적인 알고리즘입니다. 선택 정렬은 현재 데이터의 상태와 상관없이 무조건 모든 원소를 비교하고 위치를 바꾸는 반면 삽입 정렬은 특정한 데이터를 적절한 위치에 '사입'한다는 의미에서 삽입 정렬이라고 부릅니다. 삽입 정렬은 특정한 데이터가 적절한 위치에 들어가기 이전에, 그 앞까지의 데이터는 이미 정렬되어 있다고 가정합니다. 정렬되어 있는 데이터 리스트에서 적절한 위치를 찾은 뒤에, 그 위치에 삽입 된다는 접이 특징입니다. (삽입 정렬은 두 번째 데이터 부터 시작합니다. 그 이유는 첫 번째 ..

lwj789
'C' 카테고리의 글 목록 (6 Page)