Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Python: Jono ja pino -tietorakenteet -demonstraatio tietotyypit

Jere Sumell [21.04.2021 12:47:22]

#

import random

#Jono -tietotyyppi
class Jono:

    def __init__(self):
        #Luodaan lista
        self.lista = [] #taulukko

    def lisaa(self,tieto):
        #Lisätään alkio oikeaan kohtaan
        print("Lisätään jonoon luku " +str(tieto))
        self.lista.append(tieto)


    def poistaSeuraava(self):
        # palauttaa jonon seuraavan alkion ja  poistaa sen listasta.
        t = self.lista[0]
        self.lista.pop(0)
        print ("" +" Jonosta poistetaan " +str(t))
        return t


    def tulosta(self):
        #Tulostetaan
        print(self.lista)
        print("")

#pino - tietotyyppi
class Pino:

    def __init__(self):
        #Luodaan lista
        self.lista = [] #taulukko

    def lisaa(self,tieto):
        #Lisätään alkio oikeaan kohtaan
        print("Lisätään Pinoon " +str(tieto))

        self.lista.insert(len(self.lista),tieto)

    def poistaSeuraava(self):
        # palauttaa jonon seuraavan alkion ja  poistaa sen listasta.
        t = self.lista[len(self.lista)-1]
        self.lista.pop(len(self.lista)-1)
        print("Pinosta poistetaan " +str(t))
        return t

    def tulosta(self):
        #Tulostetaan
        print(self.lista)
        print("")
#Luodaan oliot ja käytetään niiden operaatioita
jono = Jono()

for x in range(5):
    luku = random.randrange(0,100)
    jono.lisaa(luku)
    jono.tulosta()

while (len(jono.lista)) > 0:
    jono.tulosta()
    a = jono.poistaSeuraava()
    print (int(a))

print("jono on tyhjä!")
pino = Pino()
for y in range(5):
    luku = random.randrange(0,100)
    print(luku)
    pino.lisaa(luku)
    pino.tulosta()

while (len(pino.lista)) > 1:
    pino.tulosta()
    a = pino.poistaSeuraava()
    print (int(a))

print("pino on tyhjä!")

Ohjelmoin aikani kuluksi jono ja pino -tietotyypit pythonilla inspiroituneena ohjelmointiputkan nimimerkin "koodaaja" -Rakenne -tietotyypistä, jonka hän julkaisi aiemmin tässä huhtikuussa 2021.

Tässä tulosteessa demonstroidaan jonon ja pinon kehitystä.

Python-Tuloste

Lisätään jonoon luku 47
[47]

Lisätään jonoon luku 10
[47, 10]

Lisätään jonoon luku 83
[47, 10, 83]

Lisätään jonoon luku 81
[47, 10, 83, 81]

Lisätään jonoon luku 12
[47, 10, 83, 81, 12]

[47, 10, 83, 81, 12]

 Jonosta poistetaan 47
47
[10, 83, 81, 12]

 Jonosta poistetaan 10
10
[83, 81, 12]

 Jonosta poistetaan 83
83
[81, 12]

 Jonosta poistetaan 81
81
[12]

 Jonosta poistetaan 12
12
jono on tyhjä!
92
Lisätään Pinoon 92
[92]

24
Lisätään Pinoon 24
[92, 24]

74
Lisätään Pinoon 74
[92, 24, 74]

91
Lisätään Pinoon 91
[92, 24, 74, 91]

14
Lisätään Pinoon 14
[92, 24, 74, 91, 14]

[92, 24, 74, 91, 14]

Pinosta poistetaan 14
14
[92, 24, 74, 91]

Pinosta poistetaan 91
91
[92, 24, 74]

Pinosta poistetaan 74
74
[92, 24]

Pinosta poistetaan 24
24
pino on tyhjä!

Päivitys 19:49 - Python -koodi lisäsi väärään kohtaan pinoon uuden alkion, korjasin ohjelmointivirheen, ja tulosteen ajan tasalle ennen kuin joku ehtii huomauttamaan niistä.

Päivitän nämä myös Githubiin seuraavaksi tälle ja Java-toteutukselle luomaani repoon.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta