本文整理汇总了C++中forward_list::erase_after方法的典型用法代码示例。如果您正苦于以下问题:C++ forward_list::erase_after方法的具体用法?C++ forward_list::erase_after怎么用?C++ forward_list::erase_after使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类forward_list
的用法示例。
在下文中一共展示了forward_list::erase_after方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateSounds
void updateSounds() {
auto prevIt = sounds.before_begin();
for (auto it = sounds.begin(); it != sounds.end(); it++) {
if (it->getStatus() == sf::Sound::Stopped) {
sounds.erase_after(prevIt);
it = prevIt;
}
else prevIt = it;
}
}
示例2: remove_evens_and_double_odds
void remove_evens_and_double_odds(forward_list<int>& data) {
for (auto cur = data.begin(), prev = data.before_begin(); cur != data.end(); ) {
if (*cur & 0x1)
cur = data.insert_after(prev, *cur),
advance(prev, 2),
advance(cur, 2);
else
cur = data.erase_after(prev);
}
}
示例3: while
forward_list<int> LinkedListsExpert::deleteDuplicates(forward_list<int> list){
forward_list<int>::iterator current = list.begin();
forward_list<int>::iterator previous = list.begin();
unordered_map<int, int> table;
table[*current] = 1;
current++;
while (current != list.end()) {
if (table.count(*current) == 0) {
table[*current] = 1;
current++;
previous++;
} else{ //delete node
current = list.erase_after(previous);
}
}
return list;
}