Курсовая работа: Обработка динамических структур

} book; //имя созданного типа

typedefstructspisok //создание нового типа запись для хранения информации элемента списка

{

bookinf; //информационные поля

structspisok* next; //указатель на следующий элемент списка

structspisok* pred; //указатель на предыдущий элемент списка

} el; //имя созданного нового типа

//-------------------------------------------------------------\\

el* vvodSp(el **top2) //создание списка

{

chars[3]={'y','e','s'}; //переменная для хранения ответа на вопрос о продолжении ввода списка

el *cur,*pr,*top,*tail,*tail2,*cur2; //указатель

clrscr();

*top2=top=tail=tail2=NULL; //обнуление указателей на начало и хвост списков

printf("Введите первую запись\n");

while(strcmp(strlwr(s),"no")!=0) //пока ответ не равен no

{

cur=(el*)malloc(sizeof(el)); //выделяем память под новый элемент (далее текущий)

cur->next=NULL; //обнуление указателя на следующий элемент текущего элемента

cur->pred=tail; //указатель на предыдущий элемент текущего элемента присваивается хвосту списка

if(top==NULL) top=cur; //если указатель на начало списка пуст то указателем на начало списка становится текущий элемент

elsetail->next=cur; //если нет, то указателем на хвост списка становится текущий элемент

tail=cur; //указатель на хвост приравнивается текущему элементу

cur2=(el*)malloc(sizeof(el)); //выделяется память под новый элемент второго списка, выполняются те же действия

cur2->next=NULL;

cur2->pred=tail2;

if((*top2)==NULL) (*top2)=cur2; // *top2 это указатель на указатель

else tail2->next=cur2;

tail2=cur2;

К-во Просмотров: 482
Бесплатно скачать Курсовая работа: Обработка динамических структур