인생마린
어떤 공부 블로거의 금서목록
인생마린
전체 방문자
오늘
어제
  • 전체 (155)
    • C언어 (19)
    • Python (14)
      • Flask (0)
    • Coding Challenge (11)
      • Code Clone & Review (0)
      • Toy Project (0)
      • 오늘의 코드 (5)
    • Algorithm (6)
    • JAVA (8)
    • 웹 (8)
      • Javascript (3)
    • 정보보안 (19)
    • 기타 (21)
    • 일기는일기장에 (2)
    • 리눅스 (4)
    • 철학 (1)
    • 주식 (14)
    • AI (2)
    • 독후감 (13)
    • 프로그래밍 (4)
    • 게임 (1)
    • Devops (2)
      • CI_CD (2)
      • AWS (0)
    • Flutter (3)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 가상화폐
  • 불편한사회
  • 정규표현식
  • 백테스팅
  • Regular Expression
  • 퀴즈봇
  • 비트코인
  • 주린이 #주식
  • python #eval #dictionary
  • 코인
  • 해커톤
  • Java
  • vpn
  • smtplib
  • 주식 #ETF
  • 테라
  • Regex
  • Python
  • 폭락
  • turtle
  • Flutter
  • 우영우 #패러디논란
  • Bitcoin
  • 카카오톡봇
  • c언어
  • 주식 #배당주
  • TFT
  • best of best
  • flask
  • Sphinx

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
인생마린

어떤 공부 블로거의 금서목록

Algorithm

[정렬 알고리즘] Recursive Insertion Sort(재귀 삽입 정렬)

2018. 3. 14. 20:49
반응형

§Revursive Insertion Sort

삽입 정렬을 재귀로 표현한 것

 

  1. 만약 배열 사이즈가 1이거나 더 작을 경우 return 한다.
  2. 재귀 함수에 n-1 배열 사이즈를 인수로 넘겨준다.
  3. 부분 배열의 마지막 원소를 올바른 위치로 정렬한다.

 

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

////////////////////////////////

//    Recursive Insertion Sort

//    재귀 삽입 정렬

////////////////////////////////

 

#include <stdio.h>

 

void insertSortRecursive(int *arr,int  n) {

    if (n <= 1)return;

    insertSortRecursive(arr, n - 1);

 

    int last = arr[n - 1];

    int j = n - 2;

 

    while (j >= 0 && arr[j] > last) {

        arr[j + 1] = arr[j];

        j = j - 1;

    }

    arr[j+1] = last;

}

 

void printArray(int arr[], int n) {

    for (int i = 0; i < n; i++)

        printf("%d ", arr[i]);

    printf("\n");

}

 

int main() {

    int arr[] = { 12,11,13,5,6 };

    int n = sizeof(arr) / sizeof(arr[0]);

 

    insertSortRecursive(arr, n);

    printf("Sorted Array : ");

    printArray(arr, n);

 

    return 0;

}

Colored by Color Scripter

cs

 


반응형
저작자표시 비영리 (새창열림)

'Algorithm' 카테고리의 다른 글

[정렬 알고리즘] Merge Sort(병합 정렬)  (1) 2018.03.14
[정렬 알고리즘] Insertion Sort(삽입정렬)  (0) 2018.03.14
[정렬 알고리즘] Recursive Bubble Sort(재귀 버블 정렬)  (0) 2018.03.14
[정렬 알고리즘] Bubble Sort(버블정렬, 거품정렬)  (0) 2018.03.14
[정렬 알고리즘] Seletion Sort (선택 정렬)  (0) 2018.03.14
    'Algorithm' 카테고리의 다른 글
    • [정렬 알고리즘] Merge Sort(병합 정렬)
    • [정렬 알고리즘] Insertion Sort(삽입정렬)
    • [정렬 알고리즘] Recursive Bubble Sort(재귀 버블 정렬)
    • [정렬 알고리즘] Bubble Sort(버블정렬, 거품정렬)
    인생마린
    인생마린
    즐거운 프로그래밍~♬

    티스토리툴바