ScalES-PPM
Loading...
Searching...
No Matches
insertion_sort.h File Reference

perform insertion sort on array More...

#include <stdlib.h>
#include <core/fptr_api.h>

Functions

void PPM_insertion_sort (void *a, size_t n, size_t es, void *data, PPM_CompareWithData cmp)
 perform insertion sort on array a
 
void PPM_sorted_insertion (void *a, size_t n, size_t es, void *data, PPM_CompareWithData cmp)
 perform insertion of element a[n] into partially sorted array a, i.e where elements 0 up to n - 1 are already in sort order
 
void PPM_insertion_sort_once (void *a, size_t n, size_t es, size_t inversion, void *data, PPM_CompareWithData cmp)
 Perform sort on element a[inversion] only.
 

Detailed Description

perform insertion sort on array

Version
1.0
Author
Thomas Jahns jahns.nosp@m.@dkr.nosp@m.z.de

Function Documentation

◆ PPM_insertion_sort()

void PPM_insertion_sort ( void * a,
size_t n,
size_t es,
void * data,
PPM_CompareWithData cmp )

perform insertion sort on array a

Parameters
aarray to sort
nnumber of elements in a
essize of element of a in bytes
dataoptional extra information to use in comparison
cmpcomparison function

◆ PPM_insertion_sort_once()

void PPM_insertion_sort_once ( void * a,
size_t n,
size_t es,
size_t inversion,
void * data,
PPM_CompareWithData cmp )

Perform sort on element a[inversion] only.

It is assumed, that a[0..inversion-1,inversion+1..n-1] forms an already sorted array, into which the misplaced element at index inversion needs to be integrated.

Parameters
aarray to insert into
nnumber of elements in a
essize of element of a in bytes
inversionposition of element not in sort order
dataoptional extra information to use in comparison
cmpcomparison function

◆ PPM_sorted_insertion()

void PPM_sorted_insertion ( void * a,
size_t n,
size_t es,
void * data,
PPM_CompareWithData cmp )

perform insertion of element a[n] into partially sorted array a, i.e where elements 0 up to n - 1 are already in sort order

This is a special case of PPM_insertion_sort_once where inversion is equal to n-1.

Parameters
aarray to insert into
nnumber of elements in a
essize of element of a in bytes
dataoptional extra information to use in comparison
cmpcomparison function

Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung, und Forschung unter dem Förderkennzeichen 01IH08004E gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.