42Seoul/push_swap

퀵소트를 어떻게 할지 좀 더 자세하게 살펴보자 크게 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 할 때 잘 나오는지 확인한 checker를 구현하는 것임. 쉽게 생각해서 하면 되는 것들 뭐 있냐 push_swap에서 한 인자값 처리 코드 들고오기 get_next_line 들고와서 인자 읽어주기 그 인자 즉 명령어 일텐데 거기에 맞게 움직이면 됨. 입력값이 없으면 이제 a스택이 정렬되었는지 확인 그리고 b스택에 뭐가 없는지 확인 잘 되었으면 OK 아니면 KO 끝 이 3가지만 알아도 잘하는 사람이라면 하루 안에 다 할 것 같아용 -jaeyojun-
퀵소트 공부 ‘찰스 앤터니 리처드 호어(Charles Antony Richard Hoare)’가 개발한 정렬 알고리즘 퀵 정렬은 불안정 정렬 에 속하며, 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬에 속한다. 분할 정복 알고리즘의 하나로, 평균적으로 매우 빠른 수행 속도를 자랑하는 정렬 방법 합병 정렬(merge sort)과 달리 퀵 정렬은 리스트를 비균등하게 분할한다. 분할 정복 방법 문제를 작은 2개의 문제로 분리하고 각각을 해결한 다음, 결과를 모아서 원래의 문제를 해결하는 전략이다. 분할 정복 방법은 대개 순환 호출을 이용하여 구현한다. [알고리즘] 퀵 정렬(quick sort)이란 - Heee's Development Blog [알고리즘] 퀵 정렬(quick sort)이란 - Heee's..
이 페이지에서는 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..
재윤
'42Seoul/push_swap' 카테고리의 글 목록