sort.c
来自「决策树是用二叉树形图来表示处理逻辑的一种工具。可以直观、清晰地表达加工的逻辑要求」· C语言 代码 · 共 75 行
C
75 行
/*************************************************************************//* *//* Sorting utilities *//* ----------------- *//* *//*************************************************************************/#include "defns.i"#include "types.i"#include "extern.i"/*************************************************************************//* *//* Sort items from Fp to Lp on attribute a *//* *//*************************************************************************/ Quicksort(Fp, Lp, Att, Exchange)/* --------- */ ItemNo Fp, Lp; Attribute Att; void (*Exchange)();{ register ItemNo Lower, Middle; register float Thresh; register ItemNo i; if ( Fp < Lp ) { Thresh = CVal(Item[Lp], Att); /* Isolate all items with values <= threshold */ Middle = Fp; for ( i = Fp ; i < Lp ; i++ ) { if ( CVal(Item[i], Att) <= Thresh ) { if ( i != Middle ) (*Exchange)(Middle, i); Middle++; } } /* Extract all values equal to the threshold */ Lower = Middle - 1; for ( i = Lower ; i >= Fp ; i-- ) { if ( CVal(Item[i], Att) == Thresh ) { if ( i != Lower ) (*Exchange)(Lower, i); Lower--; } } /* Sort the lower values */ Quicksort(Fp, Lower, Att, Exchange); /* Position the middle element */ (*Exchange)(Middle, Lp); /* Sort the higher values */ Quicksort(Middle+1, Lp, Att, Exchange); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?