myqsort/qs.c
2025-04-05 02:15:39 +02:00

65 lines
1.1 KiB
C

// gcc qs.c -o qs && ./qs
// Basic tests for various quicksorts
#include <stdio.h>
#include "qsort.h"
#include "zssort.h"
// function to print array elements
void printArray(int array[], int size) {
for (int i = 0; i < size; ++i) {
printf("%d ", array[i]);
}
printf("\n");
}
// qs test function
void qs() {
#include "data.inc"
int n = sizeof(data) / sizeof(data[0]);
printf("(qs) Unsorted Array\n");
printArray(data, n);
// perform quicksort on data
quicksort(data, 0, n - 1);
printf("(qs) Sorted array in ascending order: \n");
printArray(data, n);
}
// qsr test function
void qsr() {
#include "data.inc"
int n = sizeof(data) / sizeof(data[0]);
// perform quicksort on data
rpivotstate state;
quicksort_rand(data, 0, n - 1, &state);
printf("(qsr) Sorted array in ascending order: \n");
printArray(data, n);
}
// qs test function
void zss() {
#include "data.inc"
int n = sizeof(data) / sizeof(data[0]);
// perform zssort on data
zssort(data, 0, n - 1);
printf("(zss) Sorted array in ascending order: \n");
printArray(data, n);
}
int main() {
qs();
qsr();
zss();
return 0;
}