Как использовать двусвязный список для создания отсортированного списка? - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужно создать отсортированный связанный список из этого дважды связанного списка.Кроме того, по какой-то причине мой генератор случайных чисел не генерирует случайные числа.Все остальное работает просто отлично.

Я пробовал несколько генераторов случайных чисел, которые я нашел в Интернете, но список всегда представляет собой обратный отсчет от верхнего числа до 0 вместо нескольких случайных чисел.

//main.cpp
 //Random Number seed set once here
    srand(static_cast<unsigned int> (time(NULL)));

    //Declare and initialize variables
    Node *head = new Node();
    head = head->fillNode(rand() % 10 + 1);

    //Print Normal List
    cout << "Original List" << endl;
    head->printNode();
    cout << endl << endl;

//Node.h
Node *Node::fillNode(int n) {
    //Initialize the front
    Node * head;
    Node * tail;
    head = this;
    head->data = n--;
    head->next = NULL;
    head->prev = NULL;
    tail = head;
    //Loop until filled
    do {
        Node *next = new Node;
        // make the new node point to the current tail of the list
        Node *prev = tail;
        next->data = n--;
        next->next = NULL;
        tail->next = next;
        tail = next;
    } while (n >= 0);
    return head;
}

Я ожидаю, что на выходе будут цифры от 0 до 10 в случайном порядке.Тем не менее, я продолжаю получать числа от 0 до 10, начиная со случайного верхнего числа и всегда начиная с нуля.(Т.е. 543210 или 3210).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...