퀵소트를 어떻게 할지 좀 더 자세하게 살펴보자 크게 2가지로 나뉜다. a_to_b b_to_a 이 함수 2개를 통해서 재귀를 엄청 돌린 뒤에 정렬을 마칠 것이다. 들어가전에 나의 헤더 파일 a스택과 b택을 따로 만들어줌 typedef struct s_node { intcontent; struct s_node*prev; struct s_node*next; }t_node; typedef struct s_stack { intsize; intflag; struct s_node*top; struct s_node*bottom; }t_stack; 예제를 통해 살펴보자 1 3 2 8 7 4 5 9 10 6가 있는데 1 ~ 10으로 간단하게 말한다. 1. 그림 a_to_b a_to_b 코드 이제 a_to_b를 세세하게 ..
퀵소트
이 페이지에서는 push_swap 알고리즘 전에 데이터 전처리와 과제에서 요구하는 것을 볼 것임. 과제 설명 과제 설명 → 쉽게 말해서 스택 a,b가 주어지는데 입력값을 스택 a에 다 넣고 스택 b를 통해서 정렬을 해야하는 과제. 정렬을 해야하는데 조건이 있음 sa : swap a - 스택 a의 top에 위치한 두 개의 원소의 순서를 맞바꿉니다. 스택 a가 비어있거나 원소가 1개만 있을 때는 아무 동작도 하지 않습니다. sb : swap b - 스택 b의 top에 위치한 두 개의 원소의 순서를 맞바꿉니다. 스택 b가 비어있거나 원소가 1개만 있을 때는 아무 동작도 하지 않습니다. ss - sa와 sb를 동시에 수행합니다. pa : push a - 스택 b의 top에 위치한 원소 한 개를 스택 a의 top..