Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication2.cpp: definiuje punkt wejścia dla aplikacji konsolowej.
- //
- #include "stdafx.h"
- #include <stdlib.h>
- #include <iostream>
- using namespace std;
- struct Node {
- int value;
- Node *next;
- Node *prev;
- };
- Node * create(int value) { //tworzymy pierwszy element naszej listy (HEAD)
- Node * node = (Node *)malloc(sizeof(Node));
- node->value = value;
- node->next = node;
- node->prev = node;
- return node;
- }
- void add(Node *root, int value) {
- Node *node = create(value);
- if (root->next == root && root->prev == root) { //jeden element
- root->next = node;
- root->prev = node;
- node->next = root;
- node->prev = root;
- }
- else {
- Node *iterator = root->next;
- while (iterator != root->prev) {
- iterator = root->next;
- }
- root->prev = node;
- iterator->next = node;
- node->prev = iterator;
- node->next = root;
- }
- }
- void print(Node *root) {
- Node * iterator = root;
- do {
- cout << iterator->value<<" ";
- iterator = iterator->next;
- } while (iterator != root);
- }
- int main()
- {
- Node * root = create(9);
- add(root, 5);
- add(root, 10);
- //cout << root->next->next->value;
- print(root);
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment