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

39 lines
1.3 KiB
C

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