⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sort.c

📁 用c++实现的决策树算法
💻 C
字号:
/*************************************************************************//*									 *//*	Sorting utilities						 *//*	-----------------						 *//*									 *//*************************************************************************/#include "defns.i"#include "types.i"#include "extern.i"/*************************************************************************//*									 *//*	Sort items from Fp to Lp on attribute a				 *//*									 *//*************************************************************************/void    Quicksort(ItemNo Fp,ItemNo Lp,Attribute Att, void (*Exchange)(ItemNo,ItemNo)){    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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -