26
Сен
2021

Связный список(Написано на C, но можна и C++)

Программа, которая создает список. В программе предусмотреть размещение в обратном порядке всех элементов между первым и последним вхождением заданного элемента Е, в противном случае список оставить без изменений.

Вот то, что вышло:

#include <stdio.h>
#include <stdlib.h>


int main()
{
    struct list

    {
    int data;
    struct list *next;

    };

    int n,i,E;

    printf ("Input N: ");
    scanf("%d",&n);
    scanf("%d",&E);
    struct list *plist,*head;
    plist=malloc(sizeof(struct list));
    head=plist;             // створення списка
    i=1;
    do

    {
       scanf("%d",&plist->data);
       plist->next=malloc(sizeof(struct list));
       plist=plist->next;

    }
    while (++i<n);
    scanf("%d",&plist->data);
    plist->next=0;
    plist=head;        // Виведення елементів списку
    while (plist!=0)
    {
       printf("%d ",plist->data);
       plist=plist->next;

    }

    plist=head;
    if (plist==E)
       while (plist->next==E)
       {
            if (plist->next->data==E)
            {
                   plist->next=plist->next->next;
            }
            else plist=plist->next;
       }
printf("\n");
 plist=head;     // Виведення елементів списку
   if (plist==E)
       do
       {
          printf("%d ",plist->data);
          plist=plist->next;
       }

      while (plist==E);
    printf("\n");
}

Источник: https://ru.stackoverflow.com/questions/1332323/%D0%A1%D0%B2%D1%8F%D0%B7%D0%BD%D1%8B%D0%B9-%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%D0%9D%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BE-%D0%BD%D0%B0-c-%D0%BD%D0%BE-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%B8-c

Тебе может это понравится...

Добавить комментарий