#include‹stdio.h›
#include‹stdlib.h›
узел структуры
{
внутренние данные;
узел структуры *next;
}*p,*head,*temp;
недействительный дисплей (целое число);
недействительным IAB (целое число);
аннулировать идентификатор (целое число);
аннулировать iate (целое число);
недействительный мазок (инт);
недействительным ддп (целое число);
недействительная дата (целое число);
главный()
{
head=(структурный узел*)malloc(sizeof(структурный узел));
p=голова;целое число n;
scanf("%d",&n);
printf("введите элементы");
р=голова;целое я;
для (я = 0; я n; я ++)
{
temp=(структурный узел*)malloc(sizeof(структурный узел));
scanf("%d",&temp-›данные);
p-›следующий=temp;
p=p-›следующий;
}
интервал х;
printf("\n 1.отобразить \n 2.вставить \n 3.удалить \n 4.выйти");
do{
scanf("%d",&x);int c;
переключатель (х)
{
случай 1: отображение (n); перерыв;
случай 2: printf("\n 1. в начале 2. в нужной позиции 3. в конце 4. на выходе");
scanf("%d",&c);
переключатель (с)
{
случай 1:iab(n);break;
случай 2:idp(n);перерыв;
case 3:iate(n);break;
случай 4: выход (1);
}
ломать;
case 3:printf("\n 1. в начале 2. в нужной позиции 3. в конце 4. на выходе");
scanf("%d",&c);
переключатель (с)
{
случай 1: мазок (н); перерыв;
случай 2:ddp(n);перерыв;
случай 3: дата (n); перерыв;
случай 4: выход (1);
}
ломать;
случай 4: выход(1);
по умолчанию: printf («введите правильный ответ»);
}}пока(1);
}
недействительный дисплей (int n)
{ р = голова; целое я;
для (я = 0; я n; я ++)
{
printf(" # %d #",p-›следующие-›данные);
p=p-›следующий;
}
}
недействительным IAB (целое п)
{
р=голова;инт *м;
m=p-›следующий;
temp=(структурный узел*)malloc(sizeof(структурный узел));
p-›next=temp-›данные;
темп-›следующий=м;
printf("\n введите данные");
scanf("%d",temp-›данные);
printf("\n успех");
дисплей(n+1);
}
недействительный idp (int n)
{
int я, х; р = голова;
printf("введите желаемую позицию");
scanf("%d",&x);
for(i=0;i‹x-1;i++)
{
p=p-›следующий;
}
интервал *с=р;
printf("введите значение");
p-›next=temp-›данные;
temp=(структурный узел*)malloc(sizeof(структурный узел));
scanf("%d",&temp-›данные);
темп-›следующий=с;
}
аннулировать iate (int n)
{
интервал i;p=голова;
для (я = 0; я n; я ++)
{
p=p-›следующий;
если(p-›следующий==NULL)
{
printf("#введите значение #");p-›next=temp;
temp=(структурный узел*)malloc(sizeof(структурный узел));
scanf("%d",&temp-›данные);
}
}
}
Пустой мазок (int n)
{
р=голова;
p-›следующий=p-›следующий-›следующий;
}
недействительным ddp (целое число n)
{ int x,i;p=голова;
printf("введите позицию");
for(i=0;i‹x-1;i++)
{
p=p-›следующий;
}
p-›следующий=p-›следующий-›следующий;
}
недействительная дата (int n)
{
интервал i;p=голова;
для (i=0;i‹n-1;i++)
{
p=p-›следующий;
}
p-›следующий=NULL;
}