6.1 Задание - Простой связанный список 1

Предположим, что есть связанный список, который состоит из таких элементов:
Code:
typedef struct node* link; 
struct node { 
    int key; 
    link next; 
};
У вас есть указатель на первый элемент этого списка, который содержит адрес следующего элемента. Так же вам известно, что последний элемент списка содержит нулевой указатель на следующий элемент, т.е. next = NULL.

Задание:
  1. Напишите фрагмент кода, который удалит второй элемент списка. Предположите, что существует по крайней два элемента списка.
  2. Напишите фрагмент кода, который добавит новый элемент, с key = 17, после второго элемента списка. Предположите, что существует по крайней мере два элемента списка.
  3. Напишите функцию count(), которая, на входе, принимает ссылку на связанный список и выводит количество элементов, в связанном списке.
  4. Напишите функцию max(), которая, на входе, принимает ссылку на связанный список и выводит максимальное значение “key”, этого списка. Если список пуст, то возвратить “-1”. Предположить, что все keys являются положительными.


Варианты решений, присылать на email: root@reverse4you.org

Данное задание успешно выполнили:
  • Стань первым!


6.2 Задание - Простой связанный список 2

Повторите вышеуказанные пункты 3 и 4, но используя рекурсию в функциях.


Варианты решений, присылать на email: root@reverse4you.org

Данное задание успешно выполнили:
  • Стань первым!


6.3 Задание - Простой связанный список 3

Повторите задание 6.2 (3), но предположите, что связанный список замкнут, т.е. последний элемент указывает на первый элемент.


Варианты решений, присылать на email: root@reverse4you.org

Данное задание успешно выполнили:
  • Стань первым!


6.4 Задание - Пазл

Написать консольную программу 8-Пазл.

Варианты решений, присылать на email: root@reverse4you.org

Данное задание успешно выполнили:
  • Стань первым!