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 + -
显示快捷键?