Связанный список C [30 упражнений с решением]
1. Напишите программу на языке C для создания и отображения односвязного списка. Переходим в редактор
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 5
Входные данные для узла 2: 6
Входные данные для узла 3: 7
Ожидаемый результат :
Данные, введенные в список: Data = 5 Data = 6 Data = 7
Щелкните меня, чтобы увидеть решение
2. Напишите программу на языке C, чтобы создать односвязный список из n узлов и отобразить его в обратном порядке. Переходим в редактор
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 5
Входные данные для узла 2: 6
Входные данные для узла 3: 7
Ожидаемый результат :
Данные, введенные в список: Data = 5 Data = 6 Data = 7 Список в обратном порядке: Data = 7 Data = 6 Data = 5
Щелкните меня, чтобы увидеть решение
3. Напишите программу на языке C, чтобы создать односвязный список из n узлов и подсчитать количество узлов. Переходим в редактор
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 5
Входные данные для узла 2: 6
Входные данные для узла 3: 7
Ожидаемый результат :
Данные, введенные в список: Data = 5 Data = 6 Data = 7 Общее количество узлов = 3
Щелкните меня, чтобы увидеть решение
4. Напишите программу на языке C, чтобы вставить новый узел в начало односвязного списка. Перейдите в редактор
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 5 Входные данные для узел 2: 6 Входные данные для узла 3: 7 Данные, введенные в список: Data = 5 Data = 6 Data = 7 Входные данные для вставки в начало списка: 4 Данные после вставки в список: Data = 4 Data = 5 Data = 6 Data = 7
Щелкните меня, чтобы увидеть решение
5. Напишите программу на языке C, чтобы вставить новый узел в конец односвязного списка.. Перейдите в редактор
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 5 Входные данные для узел 2: 6 Входные данные для узла 3: 7 Данные, введенные в список: Data = 5 Data = 6 Data = 7 Входные данные для вставки в конец списка: 8 Данные, после вставки в список: Data = 5 Data = 6 Data = 7 Data = 8
Щелкните меня, чтобы увидеть решение
6. Напишите программу на языке C, чтобы вставить новый узел в середину односвязного списка. Перейдите в редактор
Тестовые данные и ожидаемый результат :
Введите количество узлов (3 или более): 4 Введите данные для узла 1 : 1 Входные данные для узла 2: 2 Входные данные для узла 3: 3 Входные данные для узла 4: 4 Данные, введенные в список: Data = 1 Data = 2 Data = 3 Data = 4 Входные данные для вставки в середину список: 5 Введите позицию для вставки нового узла: 3 Вставка успешно завершена. Новый список: Data = 1 Data = 2 Data = 5 Data = 3 Data = 4
Щелкните меня, чтобы увидеть решение
7. Напишите программу на языке C для удаления первого узла односвязного списка. Перейдите в редактор
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 2
Входные данные для узла 2: 3
Входные данные для узла 3: 4
Ожидаемый результат :
Данные, введенные в список: Data = 2 Data = 3 Data = 4 Данные удаляемого узла 1: 2 Данные после удаления первого узла: Data = 3 Data = 4
Щелкните меня, чтобы увидеть решение
8. Напишите программу на языке C для удаления узла из середины односвязного списка.. Перейдите в редактор
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узел 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Data = 2 Data = 5 Data = 8 Введите позицию узла для удаления: 2 Удаление успешно завершено. Новый список: Data = 2 Data = 8
Щелкните меня, чтобы увидеть решение
9. Напишите программу на языке C, чтобы удалить последний узел односвязного списка. Перейдите в редактор
Тестовые данные:
Введите количество узлов: 3
Входные данные для узла 1: 1
Входные данные для узла 2: 2
Входные данные для узла 3: 3
Ожидаемый результат :
Данные, введенные в список: Data = 1 Data = 2 Data = 3 Новый список после удаления последнего узла: Data = 1 Data = 2
Щелкните меня, чтобы увидеть решение
10. Напишите программу на языке C для поиска существующего элемента в односвязном списке. Перейдите в редактор
Тестовые данные и ожидаемый результат :
Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для узел 2: 5 Входные данные для узла 3: 8 Данные, введенные в список: Data = 2 Data = 5 Data = 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 Входные данные fo r первый узел: 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
Щелкните меня, чтобы увидеть решение
30. Напишите программу на C, чтобы отсортировать данный связанный список пузырьковой сортировкой.. Перейдите в редактор
Тестовые данные и ожидаемый результат : 5
15
33
49
6
65
Ввести количество элементов в связанном списке? Введите элементы в связанный список: Порядок сортировки: 615334965
Щелкните меня, чтобы увидеть решение
Редактор кода программирования на C:
Еще впереди!
Не отправляйте никаких Решение вышеуказанных упражнений здесь, если вы хотите внести свой вклад, перейдите на соответствующую страницу упражнений.