fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct elem
  5. {
  6. elem() : next(nullptr) {}
  7. int info;
  8. elem *next;
  9. };
  10.  
  11. void print(elem *ptr);
  12. void vvod(elem *ptr);
  13. void udalenie(elem *ptr);
  14. void insert_end(elem *ptr, int a);
  15.  
  16.  
  17. int main()
  18. {
  19. elem *head = new elem;
  20. vvod(head);
  21. udalenie(head);
  22. cout << "NEW LIST" << endl;
  23. print(head);
  24. }
  25.  
  26.  
  27. void vvod(elem *bashka)
  28. {
  29. int massiv[] = { 1,2,2,3,4,5,5,5,6,6,7,8,9 };
  30. bashka->info = massiv[0];
  31. for (int i = 1; i < sizeof(massiv) / sizeof(int); i++)
  32. insert_end(bashka, massiv[i]);
  33. }
  34.  
  35. void udalenie(elem *spisok)
  36. {
  37. while (spisok->next != nullptr)
  38. {
  39. elem *nextelem = spisok->next;
  40. if (spisok->info == nextelem->info) {
  41. spisok->next = nextelem->next;
  42. delete nextelem;
  43. }
  44. else
  45. spisok = nextelem;
  46. }
  47. }
  48.  
  49. void insert_end(elem *bashka, int a)
  50. {
  51. elem *lastelem = bashka;
  52. while (lastelem->next != nullptr)
  53. lastelem = lastelem->next;
  54. elem *nextelem = new elem;
  55. nextelem->info = a;
  56. lastelem->next = nextelem;
  57. }
  58.  
  59. void print(elem *spisok)
  60. {
  61. while (spisok != nullptr)
  62. {
  63. cout << spisok->info << " ";
  64. spisok = spisok->next;
  65. }
  66. cout << endl;
  67. }
Success #stdin #stdout 0s 4452KB
stdin
Standard input is empty
stdout
NEW LIST
1 2 3 4 5 6 7 8 9