/*
* @Abstract: 去除数组中的特定值
* @Crete Date : 11/10/2018.
* @Author: shaoguang.
*/
#include // fabs
/**
* @param pArray : 要去除数据的原数组。
* @param nLen: 要去除数据的原数组的元素个数。
* @param lfValue : 要从数组中去掉的值。
*
* @return : 去除数据后的数组有效元素个数。
*
* @note : 数组实际元素个数并没有改变。
*/
// 浮点数型数组(以double型数组为例)
int removeGivenValue(double *pArray, const int nLen, const double lfGivenValue)
{
if (pArray == NULL || nLen < 1)
return 0;
int nValidLen = 0;
for (int i = 0; i < nLen; ++i)
{
if (fabs(pArray[i] - lfGivenValue) < 0.000001)
continue;
pArray[nValidLen++] = pArray[i];
}
return nValidLen;
}
// 整型数组
int removeGivenValue(int *pArray