0. push swap 과제 목표
•
주어진 스택에 대하여 제한된 명령어 집합을 가능한 한 적게 사용하여 정렬하기.
→ quick sort, merge sort ...
1. Instruction set
Show All
Search
2. Quick Sort 란?
<예시>
void quicksort(int arr[], int left, int right)
{
int L;
int R;
int temp;
int pivot;
pivot = arr[(left + right) / 2];
L = left;
R = right;
while (L <= R)
{
while (arr[L] < pivot)
L++;
while (arr[R] > pivot)
R--;
if (L <= R)
{
if (L != R)
{
temp = arr[L];
arr[L] = arr[R];
arr[R] = temp;
}
L++;
R--;
}
}
if (left < R)
quicksort(arr, left, R);
if (L < right)
quicksort(arr, L, right);
}
C
복사
3. 랜덤값 돌려보기!
ARG=`ruby -e "puts (0..10).to_a.shuffle.join(' ')"`; ./push_swap $ARG
Shell
복사
4. 참고할만한 링크
•
의사 코드에 오타가 있으므로 제대로 이해하고 할것!