Учебная версия на русском. Код и его вывод сохранены в исходном виде.
Примеры программ на C для запуска
Разберите быструю сортировку, сортировку слиянием и двоичный поиск на C. Откройте код в компиляторе и сравните результат на разных входных данных.

Изучайте быструю сортировку, сортировку слиянием и двоичный поиск вместе с другими программами каталога. Сравнивайте шаги алгоритмов и следите за изменением данных, прежде чем менять код или выбирать другой пример для изучения.
Откройте нужную тему и прочитайте объяснение до запуска кода. Используйте кнопку блока кода, чтобы открыть пример в компиляторе, укажите необходимые входные данные и сравните результат. Меняйте по одному значению, чтобы понять поведение программы, а затем вернитесь к объяснению и проверьте свою гипотезу на другом наборе данных.
Быстрая сортировка на C
Изучите разбиение массива, выбор опорного элемента и рекурсивную сортировку.
Сортировка слиянием на C
Разделяйте, сортируйте и объединяйте массивы за O(N log N).
Двоичный поиск на C
Находите значение в упорядоченном массиве, каждый раз уменьшая диапазон вдвое.
Односвязный список на C
Создавайте, обходите и освобождайте узлы, связанные указателями.
Двусвязный список на C
Поддерживайте прямые и обратные ссылки при вставке и удалении узлов.
Двоичное дерево поиска на C
Вставляйте и ищите ключи, используя порядок значений в поддеревьях.
Стек на C: принцип LIFO
Реализуйте push, pop и просмотр вершины с явной проверкой границ.
Очередь на C: принцип FIFO
Управляйте ожидающими элементами с помощью позиций добавления и извлечения.
Решето Эратосфена на C
Находите все простые числа до заданной границы, отмечая кратные.
Алгоритм Дейкстры на C
Вычисляйте кратчайшие расстояния от одной вершины в графе с неотрицательными весами.
Динамическая память в C: malloc и calloc
Выделяйте, изменяйте размер и освобождайте память, проверяя объём и ошибки.
Работа с файлами в C
Открывайте, записывайте, читайте и закрывайте файлы стандартными библиотечными функциями.
Ввод и обход массива на C
Читайте элементы через scanf и обрабатывайте массив в пределах его вместимости.
Массив указателей в C
Отличайте массив адресов от указателя на массив и обращайтесь к объектам корректно.
«Привет, мир» на C
Разберите заголовок, функцию main и вывод минимальной программы C.
Циклы for, while и do-while на C
Повторяйте действия с ясными условиями и избегайте ошибок на границах.
Прототипы и рекурсия в C
Объявляйте функции до вызова и изменяйте внешние данные через действительные указатели.
Структуры, typedef и оператор -> в C
Объединяйте связанные данные и различайте доступ через объект и через указатель.
Структура программы на C
Организуйте заголовки, объявления, main и вспомогательные функции.
Факториал на C
Вычисляйте произведение от 1 до N с проверкой диапазона числового типа.
Високосный год на C
Применяйте григорианское правило делимости на 4, 100 и 400.
Узоры из символов на C
Согласуйте строки, столбцы, пробелы и переводы строки с помощью вложенных циклов.
Простые числа на C
Проверяйте делители до квадратного корня и правильно обрабатывайте числа меньше двух.
Пузырьковая сортировка на C
Меняйте соседние элементы и наблюдайте, как наибольший перемещается к концу.
Планирование Round Robin на C
Моделируйте очередность работы процессора с квантом времени и вычисляйте ожидание.
Строки в C
Учитывайте нулевой терминатор, вместимость буфера и функции string.h.