티스토리 뷰

Code

#include <iostream>
using namespace std;

#define size 15

int partition(int*, int, int);
void quicksort(int*, int, int);

int main() {

	int arr[size] = { 9,15,8,11,5,12,7,3,1,10,4,13,6,14,2 };

	cout << "정렬 전 : ";
	for (int i = 0; i < size; i++)
		cout << arr[i] << " ";

	quicksort(arr, 0, 14);

	cout << "\n정렬 후 : ";
	for (int i = 0; i < size; i++)
		cout << arr[i] << " ";
}
int partition(int* arr, int l, int r) {

	int pivot = arr[r];
	int i = l - 1;

	for (int j = l; j <= r - 1; j++) {
		if (arr[j] <= pivot) {
			i++;
			swap(arr[i], arr[j]);
		}
	}
	swap(arr[i + 1], arr[r]);

	return (i + 1);
}
void quicksort(int* arr, int l, int r) {

	if (l < r) {
		int p = partition(arr, l, r);

		quicksort(arr, l, p - 1);
		quicksort(arr, p + 1, r);
	}
}

'프로그래밍 > 알고리즘' 카테고리의 다른 글

Bubble Sort (버블정렬)  (0) 2019.08.02
Insertion Sort (삽입정렬)  (0) 2019.08.02
Seletion Sort (선택정렬)  (0) 2019.08.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함