23-timed-sorting-3/merge_sort.h
2025-05-08 17:02:26 +02:00

39 lines
1.3 KiB
C

/*----------------------------------------------------------
* HTBLA-Leonding
* ---------------------------------------------------------
* Exercise Number: S06
* Title: Insertion sort implementation
* Author: Marc Tismonar
* ----------------------------------------------------------
* Description:
* Implements the merge sort strategy
* ----------------------------------------------------------
*/
#ifndef ___MERGE_SORT_H
#define ___MERGE_SORT_H
#include "list.h"
#include "sorting_criteria.h"
/* NOTE: Either list or array variant is required! */
/**
* Sorts the given list according to the merge sort strategy.
*
* @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 merge_sort_list(IntList list, criterion_fn criterion);
/**
* Sorts the given array according to the merge sort strategy.
*
* @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 merge_sort_array(int array[], int length, criterion_fn criterion);
#endif