24-timed-sorting-4/quick_sort.h
2025-05-14 09:01:03 +02:00

39 lines
1.3 KiB
C

/*----------------------------------------------------------
* HTBLA-Leonding
* ---------------------------------------------------------
* Exercise Number: S07
* Title: Quick sort
* Author: Marc Tismonar
* ----------------------------------------------------------
* Description:
* Implements the quick sort algorithm
* ----------------------------------------------------------
*/
#ifndef ___QUICK_SORT_H
#define ___QUICK_SORT_H
#include "list.h"
#include "sorting_criteria.h"
/* NOTE: Either list or array variant is required! */
/**
* Sorts the given list according to the quick sort algorithm.
*
* @param list The list to be sorted.
* @param criterion The pointer to the function that implements the sorting criterion.
* That function accepts two integer parameters and returns a boolean value.
*/
void quick_sort_list(IntList list, criterion_fn criterion);
/**
* Sorts the given array according to the quick sort algorithm.
*
* @param array The array to be sorted.
* @param length The length of the array.
* @param criterion The pointer to the function that implements the sorting criterion.
* That function accepts two integer parameters and returns a boolean value.
*/
void quick_sort_array(int array[], int length, criterion_fn criterion);
#endif