C:llä puu

C-aloittelija

Miten C:llä voi tehdä puurakenteen? Tartteisin puun, jossa jokaisessa solmussa käsitellään 2d-taulukkoa ja solmussa aina taulukkoon lisätään tiettyjä lukuja ja jos esimerkiksi haluan päivittää tiettyyn solmuun luvun 205, niin sille annettaisiin kohta (x,y) mistä aloittaa ja luvut tallennettaisiin merkkijonoina '2','0','5','\0'. Solmulla tulisi olla vaihtelevä määrä lapsia. Jotenkin opiskeluaikana totuin olioihin ja nyt haluaisin opetella itsenäisesti toteuttamaan kaikennäköisiä asioita C:llä.

3

385

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ..

      Eli jokaisella solmulla on 4 lasta. Tai sitten BSP-puu. Eli alue jaetaan aina puoliksi. Molemmissa on etuna nopea hakuaika x,y-koordinaattejen suhteen.

      Kun quadtreehen lisätään, ja solmussa johon lisätään uusi tieto on jo jotain jaat aina neliön pienempiin osiin. Melko helppo ja tehokas tietorakenne.


      Ts. tänne päin. Voi olla syntaksissa virheitä, kun on 10 vuotta siitä kun C:tä olen kirjoittanut. Periaate on oikein.

      typedef struct quadtree
      {
      data (tai pointteri dataan);
      quadtree * vasenyla;
      quadtree * oikeayla;
      quadtree * vasenala;
      quadtree * oikeaala;
      /* tai
      quadtree[4] * neljannes;
      ei tosin paljon eroa koska vasenyla voi myös indeksoida...
      */
      }

    • malloc(), free() ja struct

    • juupaj

      "Jotenkin opiskeluaikana totuin olioihin ja nyt haluaisin opetella itsenäisesti toteuttamaan kaikennäköisiä asioita C:llä."

      Aa, ok, sitten homma on helppo. Teet toteutuksen ihan niin kuin oliokielellä, mutta jätät kaikkia aksessorit pois ja korvaat niiden käytön suorilla jäsenmuuttujaviittauksilla. Ja metodien tilalle laitat funktioita kuten method(this, args), jossa this on se tilan sisältävä struktuuri ja args-muuttujassa ovat ne argumentit mitä antaisit normaalisti jäsenfunktiolle.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. En voi jutella kanssasi

      tietenkään, mutta täällä voin sanoa sinulle, että se sinun hiljaisuutesi ja herkkyytesi eivät ole heikkoutta. Ne ovat ih
      Tunteet
      44
      5249
    2. Trump ja Vance murskasivat ja nolasivat Zelenskyn tiedotusvälineiden edessä Valkoisessa talossa.

      Jopa oli uskomaton tilaisuus Valkoisessa talossa. Zelensky jäi täydelliseksi lehdellä soittelijaksi suhteessa Trumpiin j
      Maailman menoa
      527
      1786
    3. Kokoomus haluaa hoitaa flussat yksityisellä, jotta säästettäisiin rahaa ja aikaa

      Mies hakeutui Terveystalo Kamppiin flunssaoireiden takia helmikuisena sunnuntai-iltana. Diagnoosiksi kirjattiin influens
      Maailman menoa
      77
      1100
    4. Rakkaus ei iloitse vääryydestä vaan iloitsee yhdessä TOTUUDEN kanssa.

      Tajuatteko, että jotkut ihmiset pitävät siitä, kun toiset kaatuvat? He nauttivat siitä, kun toiset mokaavat tai käyttävä
      Idän uskonnot
      359
      1018
    5. Koska olet rakastellut

      Kaivattusi kanssa viimeksi?
      Ikävä
      77
      953
    6. Anteeksi Pekka -vedätys

      Apuna Ry:n somessa levinnyt Anteeksi Pakka -kampanja saa aina vaan kummallisempia piirteitä. ”Mä pyydän anteeksi. Mä
      Maailman menoa
      53
      931
    7. Kumpi tästä

      Teidän tilanteesta teki vaikeaa? Sivusta
      Ikävä
      59
      870
    8. Kaikkia ei voi miellyttää

      Eikä ole tarviskaan. Hyvää huomenta ja mukavaa perjantaita. 😊❄️⚜️✌🏼❤️
      Ikävä
      228
      824
    9. Mikä on kaivattusi ärsyttävin piirre?

      Mun kaivattu on erittäin vastahakoinen puhumaan itsestä. Kääntää puheenaiheen aina muuhun kun hänestä tulee puhetta.
      Ikävä
      50
      813
    10. Päivi Ollila on tehnyt kunnallisvalituksen saadakseen pidettyä Tarja Pirkkalaisen virassa

      Kaupunginhallituksen puheenjohtaja Päivi Ollila on tehnyt kunnallisvalituksen kaupungin johtamisjärjestelyiden muutokses
      Haapavesi
      58
      748
    Aihe