mirror of
https://github.com/Relintai/programming_tutorials.git
synced 2025-05-11 22:52:11 +02:00
33 lines
693 B
C++
33 lines
693 B
C++
|
|
//Pszeudo kód
|
|
|
|
//void* -> c# Object, Java Object, c++ template<class T>
|
|
|
|
struct Node {
|
|
Atomic<Node> *next;
|
|
void* data;
|
|
};
|
|
|
|
class List {
|
|
Node head;
|
|
|
|
void add(void* data, void* after) {
|
|
Node *node = new Node();
|
|
node->data = data;
|
|
|
|
//megkeressük after alapján
|
|
//node ba beállítjuk a next pointert
|
|
//compare and swapoljuk az előtte álló elem next pointerét
|
|
//std::atomic<T>::compare_exchange_weak, std::atomic<T>::compare_exchange_strong
|
|
}
|
|
|
|
void remove(void* data) {
|
|
//elem megkeres
|
|
//elem előtte levő elem pointere compareandswap a következő elemre
|
|
//elem kitöröl
|
|
}
|
|
|
|
};
|
|
|
|
|