關于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
舉報
2021-01-20
m_pList[i]=m_pList[i+1]的話,一定不行, 因為for循環不會改變i值。
但如果是 m_pList[k]=m_pList[k+1]?需要修改for循環里面對k的賦值和判斷,然后可以運行。
如果不改k的話,是不能實現想要的效果的(會刪掉從這個元素 后一個元素的值)。