Мне нужно создать отсортированный связанный список из этого дважды связанного списка.Кроме того, по какой-то причине мой генератор случайных чисел не генерирует случайные числа.Все остальное работает просто отлично.
Я пробовал несколько генераторов случайных чисел, которые я нашел в Интернете, но список всегда представляет собой обратный отсчет от верхнего числа до 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).