Упражнения по программированию на языке C, практика, решение: связанный список
C Linked List [29 упражнений с решением]
1. Напишите программу на C для создания и отображения односвязного списка. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 5
Входные данные для узла 2: 6
Входные данные для узла 3: 7
Ожидаемый результат :
Данные, внесенные в список: Данные = 5 Данные = 6 Данные = 7
Нажмите меня, чтобы увидеть решение
2. Напишите программу на C, чтобы создать односвязный список из n узлов и отобразить его в обратном порядке. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 5
Входные данные для узла 2: 6
Входные данные для узла 3: 7
Ожидаемый результат :
Данные, введенные в список: Данные = 5 Данные = 6 Данные = 7 Список в обратном порядке: Данные = 7 Данные = 6 Данные = 5
Нажмите меня, чтобы увидеть решение
3. Напишите программу на C, чтобы создать односвязный список из n узлов и подсчитать количество узлов. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 5
Входные данные для узла 2: 6
Входные данные для узла 3: 7
Ожидаемый результат :
Данные, введенные в список: Данные = 5 Данные = 6 Данные = 7 Общее количество узлов = 3
Нажмите меня, чтобы увидеть решение
4. Напишите программу на C, чтобы вставить новый узел в начало односвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 5 Входные данные для узла 2: 6 Входные данные для узла 3: 7 Данные, введенные в список: Данные = 5 Данные = 6 Данные = 7 Входные данные для вставки в начало списка: 4 Данные после вставки в список: Данные = 4 Данные = 5 Данные = 6 Данные = 7
Нажмите меня, чтобы увидеть решение
5. Напишите программу на C, чтобы вставить новый узел в конец односвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 5 Входные данные для узла 2: 6 Входные данные для узла 3: 7 Данные, введенные в список: Данные = 5 Данные = 6 Данные = 7 Входные данные для вставки в конец списка: 8 Данные, после вставки в список: Данные = 5 Данные = 6 Данные = 7 Данные = 8
Нажмите меня, чтобы увидеть решение
6. Напишите программу на C, чтобы вставить новый узел в середину односвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов (3 или более): 4 Входные данные для узла 1: 1 Входные данные для узла 2: 2 Входные данные для узла 3: 3 Входные данные для узла 4: 4 Данные, введенные в список: Данные = 1 Данные = 2 Данные = 3 Данные = 4 Входные данные для вставки в середине списка: 5 Введите позицию для вставки нового узла: 3 Вставка завершена успешно. Новый список: Данные = 1 Данные = 2 Данные = 5 Данные = 3 Данные = 4
Нажмите меня, чтобы увидеть решение
7. Напишите программу на C, чтобы удалить первый узел Singlely Linked List. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 2
Входные данные для узла 2: 3
Входные данные для узла 3: 4
Ожидаемый результат :
Данные, введенные в список: Данные = 2 Данные = 3 Данные = 4 Данные удаляемого узла 1: 2 Данные после удаления первого узла: Данные = 3 Данные = 4
Нажмите меня, чтобы увидеть решение
8. Напишите программу на C, чтобы удалить узел из середины односвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Данные = 2 Данные = 5 Данные = 8 Введите позицию узла для удаления: 2 Удаление успешно завершено. Новый список: Данные = 2 Данные = 8
Нажмите меня, чтобы увидеть решение
9. Напишите программу на C, чтобы удалить последний узел Singlely Linked List. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 1
Входные данные для узла 2: 2
Входные данные для узла 3: 3
Ожидаемый результат :
Данные, введенные в список: Данные = 1 Данные = 2 Данные = 3 Новый список после удаления последнего узла: Данные = 1 Данные = 2
Нажмите меня, чтобы увидеть решение
10. Напишите программу на C для поиска существующего элемента в односвязном списке. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Данные = 2 Данные = 5 Данные = 8 Введите искомый элемент: 5 Элемент найден в узле 2
Нажмите меня, чтобы увидеть решение
11. Напишите программу на C для создания и отображения двусвязного списка. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 2
Входные данные для узла 2: 5
Входные данные для узла 3: 8
Ожидаемый результат :
Данные, внесенные в список: узел 1: 2 узел 2: 5 узел 3: 8
Нажмите меня, чтобы увидеть решение
12. Напишите программу на C, чтобы создать двусвязный список и отобразить его в обратном порядке. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 2
Входные данные для узла 2: 5
Входные данные для узла 3: 8
Ожидаемый результат :
Данные в обратном порядке: Данные в узле 1: 8 Данные в узле 2: 5 Данные в узле 3: 2
Нажмите меня, чтобы увидеть решение
13. Напишите программу на C, чтобы вставить новый узел в начале в двусвязный список. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: узел 1: 2 узел 2: 5 узел 3: 8 Входные данные для первого узла: 1 После вставки новый список: узел 1: 1 узел 2: 2 узел 3: 5 узел 4: 8
Нажмите меня, чтобы увидеть решение
14. Напишите программу на C, чтобы вставить новый узел в конец двусвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: узел 1: 2 узел 2: 5 узел 3: 8 Входные данные для последнего узла: 9 После вставки новый список: узел 1: 2 узел 2: 5 узел 3: 8 узел 4: 9
Нажмите меня, чтобы увидеть решение
15. Напишите программу на C для вставки нового узла в любую позицию в двусвязном списке. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов (3 или более): 3 Входные данные для узла 1: 2 Входные данные для узла 2: 4 Входные данные для узла 3: 5 Данные, введенные в список: узел 1: 2 узел 2: 4 узел 3: 5 Введите позицию (от 2 до 2) для вставки нового узла: 2 Входные данные для позиции 2: 3 После вставки новый список: узел 1: 2 узел 2: 3 узел 3: 4 узел 4: 5
Нажмите меня, чтобы увидеть решение
16. Напишите программу на C, чтобы вставить новый узел посередине в двусвязный список. Перейти к редактору
Тестовые данные и ожидаемый результат :
Двусвязный список: вставьте новый узел посередине в двусвязный список: -------------------------------------------------- -------------------------------- Введите количество узлов (3 или более): 3 Входные данные для узла 1: 2 Входные данные для узла 2: 4 Входные данные для узла 3: 5 Данные, введенные в список: узел 1: 2 узел 2: 4 узел 3: 5 Введите позицию (от 2 до 2) для вставки нового узла: 2 Входные данные для позиции 2: 3 После вставки новый список: узел 1: 2 узел 2: 3 узел 3: 4 узел 4: 5
Нажмите меня, чтобы увидеть решение
17. Напишите программу на C, чтобы удалить узел из начала двусвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов (3 или более): 3 Входные данные для узла 1: 1 Входные данные для узла 2: 2 Входные данные для узла 3: 3 Данные, введенные в список: узел 1: 1 узел 2: 2 узел 3: 3 После удаления новый список: узел 1: 2 узел 2: 3
Нажмите меня, чтобы увидеть решение
18. Напишите программу на C, чтобы удалить узел из последнего двусвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов (3 или более): 3 Входные данные для узла 1: 1 Входные данные для узла 2: 2 Входные данные для узла 3: 3 Данные, введенные в список: узел 1: 1 узел 2: 2 узел 3: 3 После удаления новый список: узел 1: 1 узел 2: 2
Нажмите меня, чтобы увидеть решение
19. Напишите программу на C, чтобы удалить узел из любой позиции двусвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Двусвязный список: удаление узла из любой позиции двусвязного списка: -------------------------------------------------- -------------------------------- Введите количество узлов (3 или более): 3 Входные данные для узла 1: 1 Входные данные для узла 2: 2 Входные данные для узла 3: 3 Данные, введенные в список: узел 1: 1 узел 2: 2 узел 3: 3 Введите позицию (от 1 до 3) для удаления узла: 3 После удаления новый список: узел 1: 1 узел 2: 2
Нажмите меня, чтобы увидеть решение
20. Напишите программу на C, чтобы удалить узел из середины двусвязного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов (3 или более): 3 Входные данные для узла 1: 1 Входные данные для узла 2: 2 Входные данные для узла 3: 3 Введенные в список данные: узел 1: 1 узел 2: 2 узел 3: 3 Введите позицию (от 1 до 3) для удаления узла: 2 После удаления новый список: узел 1: 1 узел 2: 3
Нажмите меня, чтобы увидеть решение
21. Напишите программу на C, чтобы найти максимальное значение из двусвязного списка. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 5
Входные данные для узла 2: 9
Входные данные для узла 3: 1
Ожидаемый результат :
Данные, введенные в список: узел 1: 5 узел 2: 9 узел 3: 1 Максимальное значение в связанном списке: 9
Нажмите меня, чтобы увидеть решение
22. Напишите программу на C, чтобы создать и отобразить круговой связанный список. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 2
Входные данные для узла 2: 5
Входные данные для узла 3: 8
Ожидаемый результат :
Данные, введенные в список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 8
Нажмите меня, чтобы увидеть решение
23. Напишите программу на C, чтобы вставить узел в начало кругового связного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 8 Входные данные для вставки в начале: 1 После вставки новый список: Данные 1 = 1 Данные 2 = 2 Данные 3 = 5 Данные 4 = 8
Нажмите меня, чтобы увидеть решение
24. Напишите программу на C, чтобы вставить узел в конец кругового связанного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 8 Введите данные для вставки: 9 После вставки новый список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 8 Данные 4 = 9
Нажмите меня, чтобы увидеть решение
25. Напишите программу на C для вставки узла в любую позицию в круговом связанном списке. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 8 Введите позицию для вставки нового узла: 3 Входные данные для позиции 3: 7 После вставки новый список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 7 Данные 4 = 8
Нажмите меня, чтобы увидеть решение
26. Напишите программу на C, чтобы удалить узел из начала кругового связного списка. Перейти к редактору
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 2
Входные данные для узла 2: 5
Входные данные для узла 3: 8
Ожидаемый результат :
Данные, введенные в список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 8 Удаленный узел -> 2 После удаления новый список: Данные 1 = 5 Данные 2 = 8
Нажмите меня, чтобы увидеть решение
27. Напишите программу на C, чтобы удалить узел из середины круглого связанного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 8 Введите позицию для удаления узла: 3 Удаленный узел: 8 После удаления новый список: Данные 1 = 2 Данные 2 = 5
Нажмите меня, чтобы увидеть решение
28. Напишите программу на C, чтобы удалить узел в конце кругового связанного списка. Перейти к редактору
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 8 Удаленный узел: 8 После удаления новый список: Данные 1 = 2 Данные 2 = 5
Нажмите меня, чтобы увидеть решение
29. Напишите программу на C для поиска элемента в круговом связанном списке. Перейти к редактору
Тестовые данные и ожидаемый результат :
Круговой связанный список: поиск элемента в круговом связанном списке: -------------------------------------------------- ----------------------- Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узла 2: 5 Входные данные для узла 3: 9 Данные, введенные в список: Данные 1 = 2 Данные 2 = 5 Данные 3 = 9 Введите элемент, который вы хотите найти: 5 Элемент найден в узле 2
Нажмите меня, чтобы увидеть решение
Редактор кода программирования C:
Еще не все !
Не отправляйте решение вышеупомянутых упражнений здесь, если вы хотите внести вклад, перейдите на соответствующую страницу упражнения.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования