정렬 알고리즘 시리즈를 쓰려고 합니다. 총 20 ~ 25편 정도로 구성이 될 듯 싶습니다. 먼저 O(n^2)짜리 알고리즘 3대장을 써 볼 건데요. 아마도, 알고리즘 교재에서는 맨 처음에 나올 듯 싶습니다. 오늘은 그 중, 삽입 정렬에 대해서 알아보겠습니다. 이 글을 이해하기 위해서는 memcpy와 memmove를 이해하면 더없이 좋을 겁니다. [관련글] 메모리 복사 함수는 어떻게 쓸까요? 삽입정렬 알고리즘은 Loop를 돌면서 해당 원소가 이미 정렬된 부분 배열에서 어디로 들어가면 좋은지를 구한 다음에, 그 위치에 넣는 식으로 동작합니다. [6, 3, 4, 2, 1, 3]을 오름차순으로 정렬한다고 해 봅시다. 수가 작을수록 우선 순위가 높을 겁니다. 먼저 1회전을 돌 겁니다. 6을 선택합니다. 제가 파란색..
memcpy 검색 결과
해당 글 2건
삽입 정렬 알고리즘 : 원소가 들어갈 위치는 어디인가?
자료알고/알고리즘
2019. 7. 11. 11:44
c언어 memcpy vs memmove : 메모리를 바이트 단위로 복사한다
메모리를 바이트 단위로 복사할 때, c나 c++ 에서는 memcpy와 memmove를 많이 사용합니다. 물론, pod 타입이여야 한다는 전제가 깔리긴 하지만요. 이 둘은 어떻게 쓸까요? c언어 memcpy나, memmove는 1번째 인자가 dest 포인터, 2번째 인자는 orignal 포인터, 3번째 인자를 몇 바이트만큼을 복사할 것인지를 넘겨줍니다. 메모리에 있는 내용을 바이트 단위로 복사하는 것은 두 함수의 공통점입니다. 삽입 정렬을 구현할 때, 이 두 함수를 잘 이용하면 좋겠지요. 첫 번째 예제 프로그램을 봅시다. int형 20개를 저장할 수 있는 ori 배열과 des 배열을 선언했습니다. 저는 ori 배열에 0, 1, ... , 19를 넣었습니다. 원소 갯수는 20개입니다. 그리고, 저는 des가..
레퍼런스/예제
2019. 7. 9. 20:36
최근댓글