При использовании метода push_front() ожидается, что новый элемент будет добавлен в начало списка. Таким образом, неожиданным поведением может быть, если новый элемент будет добавлен не в начало списка, а в конец или в середину.
Ниже приведен пример кода односвязного списка на языке C++:
```cpp
#include <iostream>
class Node {
public:
int data;
Node* next;
Node(int data) {
this->data = data;
next = nullptr;
}
};
class LinkedList {
private:
Node* head;
public:
LinkedList() {
head = nullptr;
}
void push_front(int data) {
Node* newNode = new Node(data);
if (head == nullptr) {
head = newNode;
} else {
newNode->next = head;
head = newNode;
}
}
void printList() {
Node* current = head;
while (current != nullptr) {
std::cout << current->data << " ";
current = current->next;
}
std::cout << std::endl;
}
};
int main() {
LinkedList list;
list.push_front(3);
list.push_front(2);
list.push_front(1);
list.printList(); // Вывод: 1 2 3
return 0;
}
```
В данном примере метод push_front() добавляет новые элементы в начало списка, и выводит элементы списка с помощью метода printList(). Ожидаемым результатом будет вывод списка в порядке возрастания: 1 2 3.