我需要从这个双向链表中创建一个排序链表。另外,由于某种原因,我的随机数生成器没有生成随机数。其他一切都很好。
我尝试了在网上找到的多个随机数生成器,但是列表始终是从高数到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)。