quicksort를 사용하여 알파벳 배열을 정렬하려고합니다.C++ Quicksort Alphabet Array
기본적으로 기본 알고리즘에서 시도하고 char 배열로 작업하도록 변환했습니다.
나는 거의 다 왔다고 생각하지만, 나는 그것을 얻지 못하고있다.
도움을 주시면 감사하겠습니다.
:)
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int qscounter = 0;
int split(char a[], char low, char high)
{
char part_element = a[low];
for (;;) {
while (low < high && part_element <= a[high])
high--;
if (low >= high) break;
a[low++] = a[high];
while (low < high && a[low] <= part_element)
low++;
if (low >= high) break;
a[high--] = a[low];
}
a[high] = part_element;
return high;
}
void quick_sort(char a[], char low, char high)
{
char middle;
if (low >= high) return;
middle = split(a, low, high);
qscounter++;
quick_sort(a, low, middle - 1);
quick_sort(a, middle + 1, high);
printf("Quick Sort: %d\n", qscounter);
for(int i=0;i<26;i++)
printf("%c",a[i]);
printf("\n\n");
}
void main()
{
char unsorted_alphabet[26] = {'A','E','O','D','B','Q','G','V','Y','J','Z','S','M','N','C','P','F','R','L','T','U','H','W','X','I','K'};
quick_sort(unsorted_alphabet,unsorted_alphabet[0],unsorted_alphabet[25]);
fflush(stdin);
getchar();
}
귀하의 문제는 무엇입니까? – jarrodparkes
[낮음] 또는 [높음]의 값이 정확히 무엇인지 아십니까? –