diff options
Add task3
1 files changed, 21 insertions, 2 deletions
| -rw-r--r-- | Seminar05/README.md | 23 |
diff --git a/Seminar05/README.md b/Seminar05/README.md index ce729b4..738d300 100644 --- a/Seminar05/README.md +++ b/Seminar05/README.md @@ -286,7 +286,7 @@ int main() { } ``` -## Задача първа: +## Задача първа: Даден е списък l с n елемента. @@ -318,4 +318,23 @@ v v | | v v 12 12 -> 2 -> 8 -```
\ No newline at end of file +``` + +## Задача трета - Linked List Partition +Да се създаде функция +```cpp +LinkedListNode<int>* partition(LinkedListNode<int>* head, int x); +``` +която пренарежда списъка така, че всички възли със стойност по-малка от **х** са преди всички възли със стойност по-голяма или равна от **х**. + +Пример: + +Вход: head -> 1 -> 4 -> 3 -> 2 -> 5 -> 2, x = 3 + +Output: 1 -> 2 -> 2 -> 4 -> 3 -> 5 + +Вход: head -> 2 -> 1, x = 2 + +Изход: 1 -> 2 +**HINT:** +Упътване: Можете да си направите два указателя, чрез които да строите някакви полезни помощни списъци. После, след като построите тези полезни помощни списъци, можете да пренасочите правилните указатели и да получите коректен отговор.
\ No newline at end of file |
