소개글
본 PT 자료는 자료구조에서 배우는 정렬과 검색
부분을 소개한다.
목차
1. 삽입정렬
2. 선택정렬
3. 버블정렬
본문내용
가) 정 렬
삽입법 : 삽입정렬, 쉘정렬
선택법 : 선택정렬, 힙정렬
교환법 : 버블정렬, 힙정렬
병합법 : 병합정렬
기타 : 기수정렬
속도순 : 1) 버블, 선택, 삽입정렬
2) 쉘정렬
3) 퀵정렬
ㄱ. 삽입 정렬
– 기본 개념 –
정렬되지 않은 리스트의 레코드 하나를 정렬된 리스트로 순서에 맞게 삽입하는 방법
맨 처음 한 개의 레코드가 정렬되어 있는 것으로 간주하여 수행
Ex) 카드 게임
방법 : 새 카드를 하나 받은 후에 손에 있는 카드를 왼쪽에서 오른쪽으로 검사하여 새 카드가 들어갈 자리를 찾은 다음 그 자리에 삽입
Ex) 첫 실행 : 3, [5], 2, 4, 1
3과 5를 비교 3이 작으므로 변화x
두 번째 실행 : 3, 5, [2], 4, 1
2와 3과5를 비교, 삽입될 위치 찾음
세 번째 실행 : 2, 3, 5, [4], 1
2와3과5를 4와 비교, 삽입될 위치 찾음
네 번째 실행 : 2, 3, 4, 5, [1]
1과 나머지 비교, 삽입될 위치 찾음
결과 : 1, 2, 3, 4, 5
#include <stdio.h>
void insert(int item[], int count);
void main()
{
int arr[5] = { 3, 5, 2, 4, 1};
int i, count = 5;
insert (arr, count);
puts("결과는");
for ( i = 0; i < 5; i++)
printf("%d", arr[i]);
}
void insert(int item[], int count)
{
register int i, j, temp;
for( i = 1; i < count; i++)
{
temp = item[i];
j = i - 1;
while( j >= 0 && item[j] > temp )
{
item[j + 1] = item[j];
j--;
}
item[j + 1] = temp;
}
}
참고 자료
없음