Untitled
unknown
plain_text
a year ago
986 B
6
Indexable
#include <iostream>
#include <memory>
template <typename T>
struct ListNode {
T data;
std::shared_ptr<ListNode<T>> next;
};
template<typename T>
std::shared_ptr<ListNode<T>> SearchList(std::shared_ptr<ListNode<T>> L, T key) {
while(L && L->data != key)
L = L -> next;
return L;
}
// Insert new_node after node
template<typename T>
void InsertAfter(const std::shared_ptr<ListNode<T>>& node,
const std::shared_ptr<ListNode<T>>& new_node) {
new_node -> next = node -> next;
node -> next = new_node;
}
// Delete the node past this one. Assume node is not a tail.
template<typename T>
void DeleteAfter(const std::shared_ptr<ListNode<T>>& node) {
node -> next = node -> next -> next;
}
int main() {
std::shared_ptr<ListNode<int>> L {new ListNode<int>};
L->data = -1;
L->next = nullptr;
//std::shared_ptr<ListNode<int>> pos {SearchList(L, 0)};
//std::cout << pos->data << "\n";
}Editor is loading...
Leave a Comment