Poista kaikki 'A':n esiintymät
Takaisin JHAVEPOP harjoituksiin
Ongelman kuvaus
Kirjoita C++-ohjelma, joka poistaa linkitetystä listasta, kaikki alkiot,
joiden info-kentän sisältö on 'A'. Jäljelle jäävien
alkioiden pitää olla listassa samassa järjestyksessä kuin missä ne olivat
alunperin.
Kuten alla esitellyistä testitapauksista huomaat, voit olettaa, että
osoittimet head and tail osoittavat listan
ensimmäiseen ja viimeiseen alkioon, tai ovat nollaosoittimia (NULL), jos
linkitetty lista on tyhjä. Näiden ehtojen pitää pitää paikkaansa vielä
ohjelmakoodisi suorituksen jälkeenkin. Huomaa, että harjoituksessa on
määriteltynä myös ylimääräinen osoitin p, jota voit käyttää
apuna. Tässä harjoituksessa ei ole tarkoitus määritellä muita
osoittimia.
Varmista, että kirjoittamasi ohjelmakoodi toimii oikein kaikissa
erilaisissa tapauksissa, oli linkitetyn listan tilanne mikä tahansa.
Seuraavat 9 testitapausta helpottavat ohjelmasi testaamista. Kirjoita
ohjelmakoodisi valmiiksi ja kopioi se sitten vuorotellen jokaiseen
seuraavista JHAVEPOP testeistä kokeillaksesi sen toimintaa eri
tilanteissa.
Testitapaus #1
Kuvaus: Lista on tyhjä.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Testitapaus #2
Kuvaus: Listan alussa on yksi alkio, jonka sisältö on
'A'.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Testitapaus #3
Kuvaus: Listan lopussa on yksi alkio, jonka sisältö on
'A'.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Testitapaus #4
Kuvaus: Listan alussa on useita peräkkäisiä alkioita, joiden
sisältö on 'A'.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Testitapaus #5
Kuvaus: Listan lopussa on useita peräkkäisiä alkioita,
joiden sisältö on 'A'.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Testitapaus #6
Kuvaus: Listassa on vain yksi alkio ja sen
sisältö on 'A'.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Testitapaus #7
Kuvaus: Listassa on useita alkioita ja niiden
jokaisen sisältö on 'A'.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Testitapaus #8
Kuvaus: Listassa ei ole yhtäkään alkiota, jonka
sisältö on 'A'.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Testitapaus #9
Kuvaus: Lista, jossa on satunnaisissa kohdissa
alkioita, joiden sisältö on 'A'.
Alkutilanne:
Lopputilanne:
Valmiina testaamaan?
Takaisin JHAVEPOP harjoituksiin
|