Advertisement
Guest User

Untitled

a guest
Nov 29th, 2015
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.32 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct fa {
  5.     int ertek;
  6.     int kulcs;
  7.     struct fa *bal, *jobb;
  8. } BiFa;
  9.  
  10. BiFa *beszur(BiFa *gyoker, int ertek) {
  11.     if (gyoker == NULL) {
  12.         BiFa *uj = (BiFa*) malloc(sizeof(BiFa));
  13.         uj->ertek = ertek;
  14.         uj->bal = uj->jobb = NULL;
  15.         return uj;
  16.     }
  17.     if (ertek < gyoker->ertek) {        /* balra szur */
  18.         gyoker->bal = beszur(gyoker->bal, ertek);
  19.     }
  20.     else if (ertek > gyoker->ertek) {   /* jobbra szur */
  21.         gyoker->jobb = beszur(gyoker->jobb, ertek);
  22.     }
  23.     else {
  24.         /* mar benne van */
  25.     }
  26.     return gyoker;
  27. }
  28.  
  29. void sorban_kiir(BiFa *gyoker) {
  30.    if (gyoker == NULL)   /* leállási feltétel */
  31.       return;
  32.  
  33.    sorban_kiir(gyoker->bal);
  34.    printf("%d ", gyoker->kulcs);
  35.    sorban_kiir(gyoker->jobb);
  36. }
  37.  
  38. void felszabadit(BiFa *gyoker) {
  39.    if (gyoker == NULL)   /* leállási feltétel */
  40.       return;
  41.  
  42.    felszabadit(gyoker->bal);
  43.    felszabadit(gyoker->jobb);
  44.    free(gyoker);
  45. }
  46.  
  47. int main(void) {
  48.     int i;
  49.     BiFa *gyoker = NULL;
  50.  
  51.     char minta[][2]={{13, 105}, {22, 116}, {14, 111}, {45, 101}, {3, 99},
  52.                     {35, 32}, {23, 32}, {65, 32}, {18, 10}, {53, 97}, {17, 62},
  53.                     {27, 110}, {55, 33}, {15, 46}, {4, 108}, {59, 41}, {72, 32},
  54.                     {41, 102}, {6, 100}, {39, 110}, {60, 59}, {68, 116}, {31, 10},
  55.                     {74, 59}, {30, 123}, {63, 32}, {1, 105}, {16, 104}, {47, 108},
  56.                     {66, 114}, {28, 40}, {20, 105}, {26, 105}, {62, 32}, {29, 41},
  57.                     {46, 108}, {71, 110}, {25, 97}, {7, 101}, {64, 32}, {0, 35},
  58.                     {77, 10}, {50, 118}, {76, 125}, {56, 92}, {5, 117}, {34, 32},
  59.                     {48, 111}, {38, 105}, {8, 32}, {54, 103}, {19, 10}, {33, 32},
  60.                     {73, 48}, {32, 32}, {61, 10}, {51, 105}, {12, 100}, {36, 112},
  61.                     {67, 101}, {37, 114}, {44, 72}, {70, 114}, {58, 34}, {9, 60},
  62.                     {2, 110}, {52, 108}, {11, 116}, {10, 115}, {75, 10}, {24, 109},
  63.                     {40, 116}, {21, 110}, {49, 32}, {42, 40}, {43, 34}, {57, 110},
  64.                     {69, 117}, {78, 0}};
  65.  
  66.     for (i = 0; minta[i][2] > 0; i++)
  67.         gyoker = beszur(gyoker, minta[i][2]);
  68.  
  69. sorban_kiir(gyoker);
  70.  
  71. felszabadit(gyoker);
  72.  
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement