第二章 线性表-真题仿造1&2 2019-02-02

真题仿造的例1,这里面有个地方犯了个很严重的错误,以后要多注意一下,没想到会在这么简单地地方犯错误,以前太依赖调试,对一次把试题作对没有太严格的要求,看来这方面真的要引起注意了

void ArrayA(int A[],int m,int n)

{

int nTemp;

for (int i=m; i<m+n; i++)

{

nTemp = A[i];

for (int j=i-1; j>=0; --j)

{

if (A[j]>nTemp)

{

A[j+1] = A[j];

}

else

{

A[j+1] = nTemp;//这个地方自己写的时候是A【j】,死活没想明白为什么结果会出错,这是真真的不应该的,看了书上的答案才明白过来

break;

}

}

}

}


例2没有任何问题

void Difference(LNode *&pA,LNode* pB)

{

LNode* P = pA;

LNode* A = pA->pNext;

LNode* B = pB->pNext;

while (A!=NULL  &&  B!=NULL)

{

if (A->nData < B->nData)

{

A=A->pNext;

P=P->pNext;

}

else if (A->nData > B->nData)

{

B = B->pNext;

}

else

{

P->pNext = A->pNext;

free(A);

A= P->pNext;

}

}

}

猜你喜欢

转载自blog.csdn.net/weixin_33973609/article/details/87132912