SIMPLEQ_INSERT_TAIL, SIMPLEQ_INSERT_AFTER, SIMPLEQ_REMOVE_HEAD, SIMPLEQ_REMOVE, SIMPLEQ_FOREACH, SIMPLEQ_EMPTY, SIMPLEQ_FIRST, SIMPLEQ_NEXT, STAILQ_HEAD, STAILQ_HEAD_INITIALIZER, STAILQ_ENTRY, STAILQ_INIT, STAILQ_INSERT_HEAD, STAILQ_INSERT_TAIL, STAILQ_INSERT_AFTER, STAILQ_REMOVE_HEAD, S...
SIMPLEQ_INSERT_TAIL, SIMPLEQ_INSERT_AFTER, SIMPLEQ_REMOVE_HEAD, SIMPLEQ_REMOVE, SIMPLEQ_FOREACH, SIMPLEQ_EMPTY, SIMPLEQ_FIRST, SIMPLEQ_NEXT, STAILQ_HEAD, STAILQ_HEAD_INITIALIZER, STAILQ_ENTRY, STAILQ_INIT, STAILQ_INSERT_HEAD, STAILQ_INSERT_TAIL, STAILQ_INSERT_AFTER, STAILQ_REMOVE_HEAD, S...
InitializeSListHead function INPUT_MAPPING_ELEMENT structure InsertHeadList function InsertTailList function INTERFACE structure INTERFACE_TYPE enumeration InterlockedAnd function InterlockedCompareExchange function InterlockedCompareExchangePointer function InterlockedDecrement function InterlockedExchange function Interlocked...
while (__head && __head->_M_next != __node) __head = __head->_M_next; return __head; } inline const _Slist_node_base* __slist_previous( const _Slist_node_base* __head, const _Slist_node_base* __node) { while (__head && __head->_M_next != __node) __head =...
InitializeSListHead function INPUT_MAPPING_ELEMENT structure InsertHeadList function InsertTailList function INTERFACE structure INTERFACE_TYPE enumeration InterlockedAnd function InterlockedCompareExchange function InterlockedCompareExchangePointer function InterlockedDecrement function InterlockedExchange function Interlocked...
__first, __last); } ///因为slist是单向链表,因此多採用insert_after来实现插入 ///提供的insert函数也实现找到插入位置的前驱结点,然后调用insert_after来实现的 iterator insert(iterator __pos, const value_type& __x) { return iterator(_M_insert_after(__slist_previous(&this->_M_head, __pos...
pop_front:移除首元素,内部调整头_M_head节点指向下一个节点的位置,对于移除的元素则调用destroy、_M_put_node析构并销毁内存空间; previous:查找指定节点的前一个节点的迭代器;内部调用__slist_previous遍历查找; insert_after:在指定位置后插入节点,有多个重载版本; ...
publicvoidinsertEnd(Objectobj) { /* if (head == null) { head = new SListNode(obj); } else { SListNode node = head; while (node.next != null) { node = node.next; } node.next = new SListNode(obj); } size++; */ if(tail==null) { ...
(8)插入操作InsertFirst_GL(&L,e) 该操作插入元素e作为广义表L的第一个元素; (9)删除操作DeleteFirst_GL(&L,&e) 该操作的结果是,删除广义表L的第一个元素,并用e返回其值; (10)遍历操作Traverse_GL(L) 该操作的功能是依次输出L中的每个数据元素。 [例5.5]求下列对广义表进行基本操作的结果: (1)Head...
head.next = 0; __STL_TRY { _insert_after_range(&head, first, last); } __STL_UNWIND(clear()); } #endif /* __STL_MEMBER_TEMPLATES */private: list_node_base head; //slist的成员。注意,它不是一个指针public: slist() { head.next = 0; }s...