관리 메뉴

너와 나의 스토리

큌 소트 (Quick-Sort) 구현 본문

Algorithm/자료구조 구현

큌 소트 (Quick-Sort) 구현

노는게제일좋아! 2020. 4. 20. 11:44
반응형

 

 

소스 코드:

#include <iostream>
#define QSIZE 200002
using namespace std;

int arr[100];

void swap(int a, int b) {
	int tmp = arr[a];
	arr[a] = arr[b];
	arr[b] = tmp;
}
void func(int l, int r) {
	if (l >= r) return;
	int pivot = arr[l];
	int i = l;
	int j = r;
	while (i <= j) {
		while (arr[i] < pivot) i++;
		while (arr[j] > pivot) j--;
		if (i <= j) {
			swap(i, j);
			i++;
			j--;
		}
	}
	if (i < r) func(i, r);
	if (l < j) func(l, j);
}

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	for (int i = 0; i < 10; i++) {
		cin >> arr[i];
	}
	func(0, 9);

	for (int i = 0; i < 10; i++) {
		cout << arr[i]<<" ";
	}
	return 0;
}
// 5 1 7 8 6 2 9 4 3 0
반응형
Comments