Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void DoubleLinked::AddAfter(Date elem, Date after)
- {
- Node *temp = (Node*)malloc(sizeof(Node));
- temp->elem = elem;
- Node* findAfterNode = find(after);
- if (head == NULL) {
- temp->Prev = NULL;
- head = tail = temp;
- return;
- }
- if (findAfterNode != NULL && findAfterNode != tail) {
- temp->Next = findAfterNode->Next;
- temp->Prev = findAfterNode;
- findAfterNode->Next->Prev = temp;
- findAfterNode->Next = temp;
- }
- else if (findAfterNode != NULL && findAfterNode == tail) {
- temp->Next = NULL;
- temp->Prev = findAfterNode;
- tail = temp;
- findAfterNode->Next = temp;
- }
- }
- void DoubleLinked::AddBefore(Date elem, Date before)
- {
- Node *temp = (Node*)malloc(sizeof(Node));
- temp->elem = elem;
- Node* findAfterNode = find(before);
- if (head == NULL) {
- temp->Prev = NULL;
- head = tail = temp;
- return;
- }
- if (findAfterNode != NULL && findAfterNode != head) {
- temp->Next = findAfterNode;
- temp->Prev = findAfterNode->Prev;
- findAfterNode->Prev->Next = temp;
- findAfterNode->Prev = temp;
- }
- else if (findAfterNode != NULL && findAfterNode == head) {
- temp->Next = findAfterNode;
- temp->Prev = NULL;
- head = temp;
- findAfterNode->Prev = temp;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement