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

371

    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 usko et meistä tulee jotain

      Se ei kuitenkaan estä toivomasta et tulisi. Toivon et voitas suudella ja se sais asioita loksahtamaan paikoilleen. Jutel
      Ikävä
      10
      2620
    2. Kuvaile itseäsi

      Kaivatullesi, niin että hän sinut tunnistaa.
      Ikävä
      89
      1966
    3. Eini paljastaa nuorekkuutensa salaisuuden - Tämä nousee framille: "Se on pakko, että jaksaa!"

      Discokuningatar Eini on täyttänyt upeat 64 vuotta. Lavoilla ja keikoilla nähdään entistä vapautuneempi artisti, joka ei
      Suomalaiset julkkikset
      39
      1501
    4. Huomenta keskipäivää

      Kivaa päivää mukaville ja söpösille. 🐺🫅❤️☕☀️
      Ikävä
      260
      1398
    5. Yli puolella maahanmuuttajalapsista ei ole tietoja ja taitoja, joilla selviää yhteiskunnassa

      Miksi Suomeen otetaan väkeä jolla on älyvajetta? https://www.hs.fi/politiikka/art-2000010730220.html
      Maailman menoa
      273
      1038
    6. Oletko koskaan katunut kun

      elämäsi tilaisuus jäi käyttämättä? 💔
      Ikävä
      67
      923
    7. Olen J-mies

      Jos kerrot sukunimeni alkukirjaimen, ja asuinpaikkakuntani. Lupaan ottaa yhteyttä sinuun.
      Ikävä
      47
      881
    8. Ei sitten, ei olla enää

      Missään tekemisissä. Unohdetaan kaikki myös se että tunsimme. Tätä halusit tämän saat. J miehelle. Rakkaudella vaalea na
      Ikävä
      77
      860
    9. Sinusta näkee että

      Kaipaat paljon.
      Ikävä
      55
      854
    10. Haluaisin ottaa sinut syleilyyni mies

      Olet suloinen...
      Ikävä
      44
      765
    Aihe