这是我的结构,它有两个整数指针 aV 和 aT。
struct ADJP
{
int *aV;
int eV;
int nV;
int *aT;
int nT;
};
ADJP *Umb = NULL;
aV和aT的分配过程是这样的..
for(int i=0; i<nb; i++)
{
Umb[i].aV = new int[N];
for(int j=0; j<n; j++)
Umb[i].aV[j] = pIn[i].aV[j];
}
我想从 Umb 数组中删除一个特定元素。例如我想删除 Umb[5],那么我该如何删除。我尝试过各种数学方法,但由于我认为分配的指针而出错。我尝试过使用 follow 方法,但它不适用于这种结构数组。它正在使用没有指针的结构数组。
int DeleteStructElement(int Index, ADJP *b, int N, int at)
{
for(int i=Index; i<N-1; i++)
memmove(&b[i], &b[i+1], (N-at-1)*sizeof*b); // moving the terms of array
N--; // updating new size
return N;
}
知道如何从我的结构数组中删除一个元素吗?