Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct element
- {
- int k;
- struct element*prev;
- struct element*next;
- };
- void lista_wyswietl(struct element*head);
- struct element *lista_dodaj(struct element*head,struct element*nowy);
- struct element *lista_szukaj(struct element*head,int wartosc);
- struct element *lista_usun(struct element*head,struct element*x);
- main()
- {
- struct element *head=NULL, *nowy=NULL,*y=NULL;
- char z;
- int liczba,co;
- while(1)
- {
- printf("\nco chcesz zrobic?");
- printf("\nd - dodac");
- printf("\ns - szukac");
- printf("\nu - usunac");
- printf("\no - odwrocic liste");
- printf("\nw - wyswietlic");
- printf("\nq - wyjsc\n");
- fflush(stdin);
- z=getchar();
- switch(z)
- {
- case'd':
- nowy=(struct element*)malloc(sizeof(struct element));
- printf("\npodaj wartosc elementu do wstawienia: ");
- scanf("%d",&liczba);
- nowy->k=liczba;
- head=lista_dodaj(head,nowy);
- break;
- case'w':
- lista_wyswietl(head);
- break;
- case's':
- fflush(stdin);
- scanf("%d",&co);
- printf("%p",lista_szukaj(head,co));
- break;
- case'u':
- fflush(stdin);
- scanf("%d",&co);
- y=lista_szukaj(head,co);
- if (y!=NULL)
- {
- head=lista_usun(head,y);
- }
- break;
- case'q':
- return 0;
- }
- }
- }
- void lista_wyswietl(struct element *head)
- {
- struct element*x=head;
- while(x!=NULL)
- {
- printf("%d ",x->k);
- x=x->next;
- }
- }
- struct element *lista_dodaj(struct element*head,struct element*nowy)
- {
- nowy->prev=NULL;
- nowy->next=head;
- if(head!=NULL)
- head->prev=nowy;
- head=nowy;
- return head;
- }
- struct element *lista_szukaj(struct element*head,int wartosc)
- {
- struct element*x=head;
- while(x!=NULL)
- {
- if(x->k==wartosc)
- return x;
- x=x->next;
- }
- return NULL;
- }
- struct element *lista_usun(struct element*head,struct element*x)
- {
- if(x->prev!=NULL)
- x->prev->next=x->next;
- else
- head=x->next;
- if(x->next!=NULL)
- x->next->prev=x->prev;
- free(x);
- return head;
- }
- struct element *lista_odwroc(struct element*head)
- {
- }
Add Comment
Please, Sign In to add comment