정렬
- 임의의 자료 집합을 일정한 기준에 따라 나열하는 것이다.
- 자료의 작은 것을 먼저 나열하는 것을 오름차순이라고 한다.
- 자료의 큰 것을 먼저 나열하는 것을 내림차순이라고 한다.
- 정렬의 원리는 레코드의 키들을 비교해보고 순서를 바꿀 필요가 있는 레코드를 정렬이 완료될 때까지 반복한다.
- 가장 간단한 정렬 알고리즘이 버블 정렬이다.
- 버블 정렬은 레코드의 선두부터 인접 요소를 비교하여 큰 값을 뒤로 보내는 방식으로 정렬한다.
버블정렬
- 두 개의 루프로 구성되어있는데 i 루프는 문자열 선두에서부터 뒤로 이동하고 j 루프는 매 i에 대해 num-i까지 비교 및 교환을 반복한다.

#include<stdio.h>
#include<string.h>
void main()
{
char str[] = "winapi";
printf("정렬 전의 문자열 : %s\n", str);
int num = strlen(str);
for (int i = 0; i < num-1; i++)
{
for (int j = 1; j < num - i; j++)
{
if (str[j-1] > str[j])
{
char temp;
temp = str[j - 1];
str[j - 1] = str[j];
str[j] = temp;
}
}
}
printf("정렬 된 문자열 : %s\n", str);
}