c04p194.txt

来自「Data Abstraction & Problem Solving with 」· 文本 代码 · 共 43 行

TXT
43
字号
void List::retrieve(int index,                    ListItemType& dataItem) const throw(ListIndexOutOfRangeException){   if ((index < 1) || (index > getLength()))      throw ListIndexOutOfRangeException(              "ListIndexOutOfRangeException: retrieve index out of range");   else   {  // get pointer to node, then data in node      ListNode *cur = find(index);      dataItem = cur->item;   }  // end if} // end retrievevoid List::insert(int index, ListItemType newItem) throw(ListIndexOutOfRangeException){   int newLength = getLength() + 1;   if ((index < 1) || (index > newLength))      throw ListIndexOutOfRangeException(              "ListIndexOutOfRangeException: insert index out of range");   else   {  // create new node and place newItem in it      ListNode *newPtr = new ListNode;      size = newLength;      newPtr->item = newItem;      // attach new node to list      if (index == 1)      {  // insert new node at beginning of list         newPtr->next = head;         head = newPtr;      }      else      {  ListNode *prev = find(index-1);         // insert new node after node         // to which prev points         newPtr->next = prev->next;         prev->next = newPtr;      }  // end if   } // end if} // end insert

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?