본문 바로가기
반응형

정렬4

C++ Sort (String 정렬) 우선 Sort 함수는 algorithm 헤더에 있기 때문에 #include 을 선언하고 String s; sort( s.begin(), s.end()); 을 쓰면 String 형의 시작부터 끝까지 (Default : 오름차순) 으로 정렬하게 된다. 내림 차순으로 변경하고 싶을 경우 함수를 만들어서 그 함수를 뒤에 적어줘도 되지만 greater() 를 써주면 내림차순으로 변경할 수 있다. sort( s.begin(), s.end(), greater()); 이렇게 작성하면 내림차순으로 문자열을 정렬해준다. 2021. 6. 14.
QuickSort(퀵정렬), C, C++ Pivot을 기준으로 Pivot보다 작은 수는 왼쪽에, Pivot보다 큰 수는 오른쪽에 배치하여 정렬하는 기법이다. 이름처럼 매우 빠른 속도로 정렬한다. #include #include #define max 10 void QuickSort(int*, int, int); int Partition(int*, int, int); void QuickSort(int* a, int start, int end){ int index; if(start < end){ index = Partition(a, start, end); QuickSort(a, start, index-1); QuickSort(a, index+1, end); } else{ return ; } } int Partition(int* a, int start.. 2020. 1. 14.
SelectionSort(선택정렬), C, C++ ※테스트 환경은 Dev C++에서 하였고 첨부파일도 Dev C++에서 만든 소스파일입니다. (소스 코드 테마 적용을 보려면 크롬말고 익스플로어로 열면 잘 적용됩니다.) selectionsort(선택정렬)은 전체 데이터 중 가장 작은 수를 선택하여 앞쪽으로 배치하여 정렬하는 방법이다. 따라서 가장 작은 수부터 정렬된다. //선택정렬, 가장 작은 수를 찾아 제일 앞쪽으로 배치 //평균 시간 복잡도는 O(n2) #include main(){ int a[] = {20, 40, 30, 50, 10}; int temp; for(int i = 0; i < 5; i++){ printf("%d ", a[i]); } for(int i = 0; i < 5; i++){ //min에 가장 작은 값이 들어가고 비교하기 위해 임의.. 2020. 1. 13.
BubbleSort(버블정렬), C, C++ ※테스트 환경은 Dev C++에서 하였고 첨부파일도 Dev C++에서 만든 소스파일입니다. (소스 코드 테마 적용을 보려면 크롬말고 익스플로어로 열면 잘 적용됩니다.) //크롬에서도 적용방법 아시는분 계시면 알려주세요... bubblesort(버블정렬)은 배열의 두 값들을 비교하면서 정렬하며 가장 큰 값이 먼저 정렬된다. //버블 정렬, 버블정렬은 가장 큰 수가 먼저 정렬된다. //평균 시간 복잡도는 O(n2) #include int main(){ int a[] = {20, 40, 50, 10, 30}; for(int i= 0; i 2020. 1. 13.
반응형