标准库stdlib排序qsort使用
引用头文件
#include <stdlib.h>
- 使用以下数据类型进行排序举例
typedef struct
{ int8_t ant_rssi;
}ANT_REC_DATA_T;
- 排序比较函数(从大到小或从小到大排序,调整devB->ant_rssi-devA->ant_rssi位置即可)
/*** @brief compare rssi */
static int compare_ant_rssi(const void *a, const void *b)
{const ANT_REC_DATA_T *devA = (const ANT_REC_DATA_T *)a;const ANT_REC_DATA_T *devB = (const ANT_REC_DATA_T *)b;return devB->ant_rssi-devA->ant_rssi;
}
-调用qsort库函数进行排序,pData是要进行排序的数据
ANT_REC_DATA_T pData[16];
for(uint32_t i=0; i=16; i++)
{pData[i].ant_rssi = rand();
}
qsort(pData,16,sizeof(ANT_REC_DATA_T),compare_ant_rssi);