【发布时间】:2020-10-13 23:38:13
【问题描述】:
此函数计算给定元素在单链表中出现的次数,如果值不在列表中或列表为空,则返回 0。当前列表有{97,92,75,97,97}。
它应该返回 3 但我的代码只返回 1 我的代码有什么问题?
template <typename Data_t>
size_t SLinkedList<Data_t>::freq(Data_t element) {
Node* ptr;
ptr = _head;
if(empty()) return 0;
while (ptr != nullptr) {
size_t count = 0;
if( ptr->_data == element) {
ptr = ptr->_next;
count++;
}
return count;
}
return 0;
}
【问题讨论】:
-
ptr = ptr->_next;和return count;都在错误的地方。 -
不要太热衷于到处使用 TLA。
标签: c++ list singly-linked-list