- OLED monitor topik
- Milyen processzort vegyek?
- Milyen TV-t vegyek?
- Milyen monitort vegyek?
- Kormányok / autós szimulátorok topikja
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Lenovo Legion és IdeaPad Y széria
- Azonnali fotós kérdések órája
- Kompakt vízhűtés
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
-
PROHARDVER!
Új hozzászólás Aktív témák
-
asuspc96
senior tag
Helló!
Olyan kérdésem lenne, hogy adott egy feladat, és ebben kellene rendezi egy 2 dimenziós tömb elemeit...na igen, csak ezt bináris fáknál, hogyan lehet megtenni ?
Gondolom nem ugyan úgy mintha csak egy sima 2D-s tömb lenne (pl feltöltése 2db egymásba ágyazott ciklussal)#include <stdio.h>
#include <stdlib.h>
typedef struct fa {
int ertek;
int kulcs;
struct fa *bal, *jobb;
} BiFa;
BiFa *beszur(BiFa *gyoker, int ertek) {
if (gyoker == NULL) {
BiFa *uj = (BiFa*) malloc(sizeof(BiFa));
uj->ertek = ertek;
uj->bal = uj->jobb = NULL;
return uj;
}
if (ertek < gyoker->ertek) { /* balra szur */
gyoker->bal = beszur(gyoker->bal, ertek);
}
else if (ertek > gyoker->ertek) { /* jobbra szur */
gyoker->jobb = beszur(gyoker->jobb, ertek);
}
else {
/* mar benne van */
}
return gyoker;
}
void sorban_kiir(BiFa *gyoker) {
if (gyoker == NULL) /* leállási feltétel */
return;
sorban_kiir(gyoker->bal);
printf("%d ", gyoker->kulcs);
sorban_kiir(gyoker->jobb);
}
void felszabadit(BiFa *gyoker) {
if (gyoker == NULL) /* leállási feltétel */
return;
felszabadit(gyoker->bal);
felszabadit(gyoker->jobb);
free(gyoker);
}
int main(void) {
int i;
BiFa *gyoker = NULL;
char minta[][2]={{13, 105}, {22, 116}, {14, 111}, {45, 101}, {3, 99},
{35, 32}, {23, 32}, {65, 32}, {18, 10}, {53, 97}, {17, 62},
{27, 110}, {55, 33}, {15, 46}, {4, 108}, {59, 41}, {72, 32},
{41, 102}, {6, 100}, {39, 110}, {60, 59}, {68, 116}, {31, 10},
{74, 59}, {30, 123}, {63, 32}, {1, 105}, {16, 104}, {47, 108},
{66, 114}, {28, 40}, {20, 105}, {26, 105}, {62, 32}, {29, 41},
{46, 108}, {71, 110}, {25, 97}, {7, 101}, {64, 32}, {0, 35},
{77, 10}, {50, 118}, {76, 125}, {56, 92}, {5, 117}, {34, 32},
{48, 111}, {38, 105}, {8, 32}, {54, 103}, {19, 10}, {33, 32},
{73, 48}, {32, 32}, {61, 10}, {51, 105}, {12, 100}, {36, 112},
{67, 101}, {37, 114}, {44, 72}, {70, 114}, {58, 34}, {9, 60},
{2, 110}, {52, 108}, {11, 116}, {10, 115}, {75, 10}, {24, 109},
{40, 116}, {21, 110}, {49, 32}, {42, 40}, {43, 34}, {57, 110},
{69, 117}, {78, 0}};
for (i = 0; minta[i][2] > 0; i++)
gyoker = beszur(gyoker, minta[i][2]);
sorban_kiir(gyoker);
felszabadit(gyoker);
return 0;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Ohh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- UHH! HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -40% i7-1165G7 16/512 Iris Xe FHD EU-HUN
- IBM PS/1 2168-552 486SX-25
- ASUS ROG Strix RTX 2080 Ti OC 11GB
- Acer Swift 3 (SF314 54) i5 / 8GB RAM / SSD / FullHD / kiváló állapotban!
- LG OLED Televíziók: KÉSZLETKISÖPRÉS -30%
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- AKCIÓ! "ÚJ" Microsoft Surface 5 13,5 notebook - i5 1235U 8GB RAM 256GB SSD Intel Iris Xe IGP 27% áfa
- BESZÁMÍTÁS! GIGABYTE AORUS ELITE Z790 i7 14700K 64GB DDR5 1TB SSD 7900XTX 24GB be quiet! SB802 1000W
- Samsung Galaxy S21 Ultra /Kártyafüggetlen / 12/256 GB / 1Év garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest