кодесурса
«C

Упражнения по программированию на языке C, практика, решение: связанный список

script1adsense2code
script1adsense3code

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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code