Advertisement
dzieciol

lifo

Apr 25th, 2016
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.50 KB | None | 0 0
  1. # include <stdio.h>
  2. typedef struct stos{
  3.         int wart;
  4.         struct stos *poprzedni;
  5.         }stos;
  6.  
  7. void push (stos **head, int liczba)
  8. {
  9.     stos *nowy;
  10.     nowy = (stos *)malloc(sizeof(stos));
  11.     nowy->wart = liczba;
  12.     nowy->poprzedni=NULL;
  13.     if(head == NULL){
  14.     *head = nowy;
  15.     //printf("!");
  16.     }
  17.     else {
  18.     nowy->poprzedni=*head;
  19.     *head = nowy;
  20.          }
  21. }
  22. int pop(stos **head)
  23. {
  24.      stos *tmp;
  25.      int liczba=0;
  26.      if (*head ==NULL)
  27.      printf("Stos pusty");
  28.      else{
  29.      tmp = *head;
  30.      (*head) =(*head)->poprzedni;
  31.      liczba =(*head)->wart;
  32.      free(tmp);
  33.      }
  34.      return liczba;
  35. }
  36.  
  37. void show(stos *head)
  38. {
  39.      while (head!=NULL){
  40.      printf("%d\n",
  41.      head->wart);
  42.      head=head->poprzedni; }
  43.  
  44. }
  45.  
  46. int main ()
  47. {
  48.     int liczba, option=0;
  49.     stos *head = NULL, *tmp = NULL;
  50.     while(option!=4)
  51.     {
  52.     printf("\n1.Push\n2.Show\n3.Pop\n4.END\n");
  53.             scanf("%d",&option);
  54.             switch(option)
  55.             {
  56.                case 1: printf("Podaj wartosc: ");
  57.                        scanf("%d", &liczba);
  58.                        push(&head,liczba);break;
  59.                case 2: printf("Wyswetlam stos od gory: \n");
  60.                        show(head); break;
  61.                case 3: printf("Usuwanie ze stosu: ");
  62.                        printf("%d", pop(&head));break;
  63.                case 4: option = 4;break;
  64.                default: break;
  65.             }
  66.     }
  67.     system("pause");
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement