|
Yet Another eXchange Tool
DO_NOT_EDIT_HERE
|
Non-recursive stack version of Quicksort. More...
#include <stdbool.h>#include <stddef.h>#include <stdlib.h>#include "xt/quicksort.h"#include "core/ppm_xfuncs.h"#include "xt_quicksort_base.h"Go to the source code of this file.
Macros | |
| #define | SORT_TYPE idxpos_type |
| #define | SORT_TYPE_SUFFIX idxpos |
| #define | SORT_TYPE_CMP_LT(a, b) ((a).idx < (b).idx || ((a).idx == (b).idx && (a).pos < (b).pos)) |
| #define | SORT_TYPE_CMP_LE(a, b) ((a).idx < (b).idx || ((a).idx == (b).idx && (a).pos <= (b).pos)) |
| #define | SORT_TYPE_CMP_EQ(a, b) ((a).idx == (b).idx && (a).pos == (b).pos) |
| #define | SORT_TYPE int |
| #define | SORT_TYPE_SUFFIX int |
| #define | SORT_TYPE_CMP_LT(a, b) (a < b) |
| #define | SORT_TYPE_CMP_LE(a, b) (a <= b) |
| #define | SORT_TYPE_CMP_EQ(a, b) (a == b) |
Functions | |
| void | xt_quicksort_index (Xt_int *v_idx, int n, int *v_pos, int reset_pos) |
Non-recursive stack version of Quicksort.
based on N. Wirth's Pascal Book, 'Algorithms + Data Structures = Programms'. by Alan Miller ( 19 Jul 1995 )
based on:
http://www.nag.com/nagware/Examples/nur.f90
see also:
Definition in file quicksort.c.
| #define SORT_TYPE idxpos_type |
Definition at line 213 of file quicksort.c.
| #define SORT_TYPE int |
Definition at line 213 of file quicksort.c.
| #define SORT_TYPE_CMP_EQ | ( | a, | |
| b | |||
| ) | ((a).idx == (b).idx && (a).pos == (b).pos) |
Definition at line 217 of file quicksort.c.
| #define SORT_TYPE_CMP_EQ | ( | a, | |
| b | |||
| ) | (a == b) |
Definition at line 217 of file quicksort.c.
| #define SORT_TYPE_CMP_LE | ( | a, | |
| b | |||
| ) | ((a).idx < (b).idx || ((a).idx == (b).idx && (a).pos <= (b).pos)) |
Definition at line 216 of file quicksort.c.
| #define SORT_TYPE_CMP_LE | ( | a, | |
| b | |||
| ) | (a <= b) |
Definition at line 216 of file quicksort.c.
| #define SORT_TYPE_CMP_LT | ( | a, | |
| b | |||
| ) | ((a).idx < (b).idx || ((a).idx == (b).idx && (a).pos < (b).pos)) |
Definition at line 215 of file quicksort.c.
| #define SORT_TYPE_CMP_LT | ( | a, | |
| b | |||
| ) | (a < b) |
Definition at line 215 of file quicksort.c.
| #define SORT_TYPE_SUFFIX idxpos |
Definition at line 214 of file quicksort.c.
| #define SORT_TYPE_SUFFIX int |
Definition at line 214 of file quicksort.c.
| void xt_quicksort_index | ( | Xt_int * | a, |
| int | n, | ||
| int * | idx, | ||
| int | reset_index | ||
| ) |
quicksort changing values and indices
| [in,out] | a | data to be sorted |
| [in] | n | length of data |
| [in,out] | idx | old index of sorted returned a |
| [in] | reset_index | override given idx by identity idx |
Definition at line 77 of file quicksort.c.
1.8.13