tanyabar
Новичок
|
Создать очередь для целых чисел. Максимальный размер очереди вводится с экрана. Создать функции для ввода и вывода элементов очереди. Ввести в очередь 8 чисел с экрана. После этого перейти в режим, при котором при вводе очередного числа из очереди удаляется первый элемент, и если он не совпадает с введенным числом, то последнее добавляется в очередь, в противном случае ввод прекращается. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <ctype.h> typedef struct Spis { int number; struct Spis *next; } Spis; void Enquenue(Spis**); void Display(Spis*); void DeleteFirst(Spis**); void Enquenue(Spis **begin) { Spis *p,*tmp; p=new Spis; p->number=0; p->next=NULL; *begin = p; int size=0; printf("Enter size:"); scanf("%d", &size); for(int i=1; i<=size; i++) { tmp = new Spis; p->next = tmp; tmp->next = NULL; printf("Enter element %d: ",i); scanf("%d",&tmp->number); p = p->next; } } void DeleteFirst(Spis **begin) { Spis *p=*begin; while(p){ if(p==*begin) { *begin = (*begin)->next; delete p; } p = NULL; } } void Display(Spis *begin) { Spis *p= begin; if(p==NULL) printf("Queueis empty"); else printf("Queue"); while(p!=NULL) { printf("\n%d", p->number ); p=p->next; } } void main() { Spis *begin=NULL; Enquenue(&begin); DeleteFirst(&begin); Display(begin); getch(); }
|