hdf_sort_test.c
来自「在 linux平台上的网页编程的模板」· C语言 代码 · 共 71 行
C
71 行
#include "cs_config.h"#include <unistd.h>#include <string.h>#include "util/neo_misc.h"#include "util/neo_hdf.h"#include "util/neo_rand.h"int TestCompare(const void* pa, const void* pb){ HDF **a = (HDF **)pa; HDF **b = (HDF **)pb; float aVal,bVal; aVal = atof(hdf_get_value(*a,"val","0")); bVal = atof(hdf_get_value(*b,"val","0")); printf("TestCompare aVal=%f [%s] bVal=%f [%s]\n",aVal,hdf_get_value(*a,"name","?"),bVal,hdf_get_value(*b,"name","?")); if (aVal<bVal) return -1; if (aVal==bVal) return 0; return 1;}void TestSort(HDF* hdf){ int i; float value; for (i=0;i<15;i++) { value = rand()/(RAND_MAX+1.0); hdf_set_valuef(hdf, "test.%d", "%d", i, i); hdf_set_valuef(hdf, "test.%d.name", "item #%d", i, i); hdf_set_valuef(hdf, "test.%d.val", "%f", i, value ); } hdf_dump(hdf,NULL); hdf_sort_obj(hdf_get_obj(hdf, "test"), TestCompare); hdf_dump(hdf,NULL);}int main(int argc, char *argv[]){ NEOERR *err; HDF *hdf; double tstart = 0; err = hdf_init(&hdf); if (err != STATUS_OK) { nerr_log_error(err); return -1; } tstart = ne_timef(); TestSort(hdf); ne_warn("sort took %5.5fs", ne_timef() - tstart); hdf_dump(hdf, NULL); hdf_destroy(&hdf); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?