У меня есть вопрос о связанном списке c ++. Я знаю, как вставить первые данные, но я хочу вставить несколько случайных чисел. Это моя функция push_front (). Мне нужно использовать эту функцию для реализации функции push_frontN (). пожалуйста, помогите мне !!
struct Node{
int data;
Node* next;
Node(int i = 0; Node* n = nullptr){
data = i, next = n;
}
~Node() {}
};
int size(Node* p) {
if (empty(p)) return 0;
int count = 0;
for (pNode c = p; c != nullptr; c = c->next, count++);
return count;
}
Node* push_front(Node* p, int val){
if(empty(p)) return new Node{val}; //function empty is already created.
return new Node{val, p};
}
unsigned long rand_extended(int range) {
if (range < RAND_MAX) return rand();
return rand() * RAND_MAX + rand();
}
Node* push_frontN(Node* p, int N){
int range = N + size(p);
srand((unsigned)time(nullptr));
for (int i = 0; i < N; i++) {
int val = rand() % range;
p = push_front(p, val);
cout << setw(7) << "\r\tinserting in [" << i << "]=" << val;
}
cout << "\n";
return p;
}
Thank you