※ 引述《timmylin (Noname)》之銘言:
: 有關Array的Erase和Insert的疑問...
: 它的傳入參數是個iterator,但是如果是Array操作的話
: 要快速得到它的index(這樣才能知道memmove的範圍大小)
: 操作一定要知道iterator::_node這個pointer,因為只要把
: 他和_data相減就好了,但是偏偏它是private member,所以
: 在實作上變的有點尷尬...雖然這兩個動作牽涉到memory move
: 的問題是O(n),但如果連鎖定位置都要循序找一次會不會太奇怪阿...,
OK. Similar to Dlist, let's declare ---
friend iterator Array<T>::erase(iterator pos);
friend iterator Array<T>::insert(iterator pos, const T& x);
in class Array::iterator.
I will update the source code immediately.
Thanks for the correction.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.135.53