關(guān)于bool List::ListDelete(int i, int* e)
bool List::ListDelete(int i, int* e)
{
*e = m_pList[i];
for (int k = i + 1; k < m_iLength; k++)
{
m_pList[k - 1] = m_pList[k];? ?這里可以寫成m_pList[i]=m_pList[i+1]嗎
}
m_iLength--;
return true;
}
bool List::ListDelete(int i, int* e)
{
*e = m_pList[i];
for (int k = i + 1; k < m_iLength; k++)
{
m_pList[k - 1] = m_pList[k];? ?這里可以寫成m_pList[i]=m_pList[i+1]嗎
}
m_iLength--;
return true;
}
2020-11-29
舉報(bào)
2021-01-20
m_pList[i]=m_pList[i+1]的話,一定不行, 因?yàn)閒or循環(huán)不會改變i值。
但如果是 m_pList[k]=m_pList[k+1]?需要修改for循環(huán)里面對k的賦值和判斷,然后可以運(yùn)行。
如果不改k的話,是不能實(shí)現(xiàn)想要的效果的(會刪掉從這個元素 后一個元素的值)。