Linked Lists

hzxlove
Assignment21.zip

Assignment2/.DS_Store

Assignment2/cmudict/.DS_Store

Assignment2/cmudict/cmudict-short.dict

dignitary D IH1 G N AH0 T EH2 R IY0 necessitate N AH0 S EH1 S AH0 T EY2 T undue AH0 N D UW1 moderated M AA1 D ER0 EY2 T IH0 D subordinated S AH0 B AO1 R D AH0 N EY2 T IH0 D sanitary S AE1 N IH0 T EH2 R IY0 cultivated K AH1 L T AH0 V EY2 T IH0 D accentuated AE0 K S EH1 N CH UW0 EY2 T IH0 D originate ER0 IH1 JH AH0 N EY2 T amending AH0 M EH1 N D IH0 NG eliminated IH0 L IH1 M AH0 N EY2 T IH0 D westbury W EH1 S T B EH2 R IY0 anticipated AE0 N T IH1 S AH0 P EY2 T IH0 D canoe K AH0 N UW1 doo D UW1 irrigated IH1 R AH0 G EY2 T IH0 D two T UW1 nitrate N AY1 T R EY2 T unnecessary AH0 N N EH1 S AH0 S EH2 R IY0 withdrew W IH0 TH D R UW1 rosemary R OW1 Z M EH2 R IY0 slew S L UW1 amputated AE1 M P Y AH0 T EY2 T IH0 D corroborate K ER0 AA1 B ER0 EY2 T abrogate AE1 B R AH0 G EY2 T aggravate AE1 G R AH0 V EY2 T situated S IH1 CH UW0 EY2 T IH0 D savagery S AE1 V IH0 JH EH2 R IY0 manipulated M AH0 N IH1 P Y AH0 L EY2 T IH0 D queue K Y UW1 glue G L UW1 stew S T UW1 hue HH Y UW1 regenerate R IY0 JH EH1 N ER0 EY2 T accommodate AH0 K AA1 M AH0 D EY2 T estuary EH1 S CH UW0 EH2 R IY0 devastated D EH1 V AH0 S T EY2 T IH0 D substantiated S AH0 B S T AE1 N SH IY0 EY2 T IH0 D crumbling K R AH1 M B AH0 L IH0 NG reasonably R IY1 Z AH0 N AH0 B L IY0 denominated D IH0 N AA1 M AH0 N EY2 T IH0 D segregate S EH1 G R AH0 G EY2 T gooseberry G UW1 S B EH2 R IY0 unsanitary AH0 N S AE1 N AH0 T EH2 R IY0 ending EH1 N D IH0 NG stationery S T EY1 SH AH0 N EH2 R IY0 hoo HH UW1 depreciate D IH0 P R IY1 SH IY0 EY2 T meditate M EH1 D AH0 T EY2 T delineate D IH0 L IH1 N IY0 EY2 T spending S P EH1 N D IH0 NG du D UW1 truncated T R AH1 NG K EY2 T IH0 D suspending S AH0 S P EH1 N D IH0 NG stumbling S T AH1 M B AH0 L IH0 NG constabulary K AH0 N S T AE1 B Y AH0 L EH2 R IY0 gravitate G R AE1 V IH0 T EY2 T excavate EH1 K S K AH0 V EY2 T shampoo SH AE0 M P UW1 untrue AH0 N T R UW1 propagate P R AA1 P AH0 G EY2 T accumulate AH0 K Y UW1 M Y AH0 L EY2 T stimulate S T IH1 M Y AH0 L EY2 T you Y UW1 anticipate AE0 N T IH1 S AH0 P EY2 T sulphate S AH1 L F EY2 T profligate P R AO1 F L IH0 G EY2 T que K Y UW1 woo W UW1 statuary S T AE1 CH UW0 EH2 R IY0 procrastinate P R AH0 K R AE1 S T AH0 N EY2 T obviate AA1 B V IY0 EY2 T pew P Y UW1 su S UW1 accelerate AE0 K S EH1 L ER0 EY2 T generate JH EH1 N ER0 EY2 T instigate IH1 N S T AH0 G EY2 T vertebrate V ER1 T AH0 B R EY2 T amalgamated AH0 M AE1 L G AH0 M EY2 T IH0 D appreciated AH0 P R IY1 SH IY0 EY2 T IH0 D captivate K AE1 P T IH0 V EY2 T assimilated AH0 S IH1 M AH0 L EY2 T IH0 D vous V UW1 pursue P ER0 S UW1 honorary AA1 N ER0 EH2 R IY0 adieu AH0 D UW1 coup K UW1 emanate EH1 M AH0 N EY2 T taboo T AE0 B UW1 unreasonably AH0 N R IY1 Z AH0 N AH0 B L IY0 intimated IH1 N T AH0 M EY2 T IH0 D lubricate L UW1 B R IH0 K EY2 T recreate R EH1 K R IY0 EY2 T excoriated EH0 K S K AO1 R IY0 EY2 T IH0 D wending W EH1 N D IH0 NG outdated AW1 T D EY2 T IH0 D q K Y UW1 peru P ER0 UW1 ku K UW1 deux D UW1 separate S EH1 P ER0 EY2 T elections IH0 L EH1 K SH AH0 N Z castrated K AE1 S T R EY2 T IH0 D agitated AE1 JH AH0 T EY2 T IH0 D sophisticated S AH0 F IH1 S T AH0 K EY2 T IH0 D assassinated AH0 S AE1 S AH0 N EY2 T IH0 D flagellate F L AE1 JH AH0 L EY2 T infiltrated IH1 N F IH0 L T R EY2 T IH0 D officiate AH0 F IH1 SH IY0 EY2 T delegate D EH1 L AH0 G EY2 T renovated R EH1 N AH0 V EY2 T IH0 D commiserate K AH0 M IH1 S ER0 EY2 T pontificate P AA0 N T IH1 F AH0 K EY2 T decapitate D IY0 K AE1 P AH0 T EY2 T arbitrary AA1 R B AH0 T R EH2 R IY0 grew G R UW1 alienated EY1 L IY0 AH0 N EY2 T IH0 D kew K Y UW1 exterminate IH0 K S T ER1 M AH0 N EY2 T migrated M AY1 G R EY2 T IH0 D luminary L UW1 M AH0 N EH2 R IY0 feb F EH1 B Y AH0 W EH2 R IY0 premeditate P R IY0 M EH1 D AH0 T EY2 T obliterated AH0 B L IH1 T ER0 EY2 T IH0 D reflections R IH0 F L EH1 K SH AH0 N Z inundated IH1 N AH0 N D EY2 T IH0 D annihilated AH0 N AY1 AH0 L EY2 T IH0 D stimulated S T IH1 M Y AH0 L EY2 T IH0 D shoo SH UW1 overstate OW1 V ER0 S T EY2 T propagated P R AA1 P AH0 G EY2 T IH0 D miscalculated M IH0 S K AE1 L K Y AH0 L EY2 T IH0 D projections P R AH0 JH EH1 K SH AH0 N Z probate P R OW1 B EY2 T cou K UW1 legendary L EH1 JH AH0 N D EH2 R IY0 blew B L UW1 enumerated IH0 N UW1 M ER0 EY2 T IH0 D illustrate IH1 L AH0 S T R EY2 T depreciated D IH0 P R IY1 SH IY0 EY2 T IH0 D designate D EH1 Z AH0 G N EY2 T perforate P ER1 F ER0 EY2 T rejections R IH0 JH EH1 K SH AH0 N Z migrate M AY1 G R EY2 T subdue S AH0 B D UW1 venerated V EH1 N ER0 EY2 T IH0 D permeate P ER1 M IY0 EY2 T to T UW1 depending D IH0 P EH1 N D IH0 NG perpetuated P ER0 P EH1 CH AH0 W EY2 T IH0 D adversary AE1 D V ER0 S EH2 R IY0 january JH AE1 N Y UW0 EH2 R IY0 compensate K AA1 M P AH0 N S EY2 T discriminated D IH0 S K R IH1 M AH0 N EY2 T IH0 D knew N UW1 vegetate V EH1 JH AH0 T EY2 T missionary M IH1 SH AH0 N EH2 R IY0 obituary OW0 B IH1 CH UW0 EH2 R IY0 humiliated HH Y UW0 M IH1 L IY0 EY2 T IH0 D carbonate K AA1 R B AH0 N EY2 T moo M UW1 accumulated AH0 K Y UW1 M Y AH0 L EY2 T IH0 D captivated K AE1 P T IH0 V EY2 T IH0 D emissary EH1 M AH0 S EH2 R IY0 collaborated K AH0 L AE1 B ER0 EY2 T IH0 D hesitated HH EH1 Z IH0 T EY2 T IH0 D gravitated G R AE1 V AH0 T EY2 T IH0 D canterbury K AE1 N T ER0 B EH2 R IY0 dictionary D IH1 K SH AH0 N EH2 R IY0 exasperate IH0 G Z AE1 S P ER0 EY2 T schoolmate S K UW1 L M EY2 T february F EH1 B Y AH0 W EH2 R IY0 abdicated AE1 B D AH0 K EY2 T IH0 D depositary D AH0 P AA1 Z IH0 T EH2 R IY0 flew F L UW1 sue S UW1 drew D R UW1 exasperated IH0 G Z AE1 S P ER0 EY2 T IH0 D mediate M IY1 D IY0 EY2 T regulated R EH1 G Y AH0 L EY2 T IH0 D tolerated T AA1 L ER0 EY2 T IH0 D through TH R UW1 participate P AA0 R T IH1 S AH0 P EY2 T asphyxiated AE0 S F IH1 K S IY0 EY2 T IH0 D predominated P R IH0 D AA1 M AH0 N EY2 T IH0 D inaugurated IH0 N AO1 G ER0 EY2 T IH0 D stationary S T EY1 SH AH0 N EH2 R IY0 animated AE1 N AH0 M EY2 T IH0 D serrated S EH1 R EY2 T IH0 D devastate D EH1 V AH0 S T EY2 T decorate D EH1 K ER0 EY2 T imitate IH1 M AH0 T EY2 T gue G Y UW1 penetrated P EH1 N AH0 T R EY2 T IH0 D consecrated K AA1 N S AH0 K R EY2 T IH0 D resuscitated R IH0 S AH1 S IH0 T EY2 T IH0 D circulate S ER1 K Y AH0 L EY2 T syncopated S IH1 NG K AH0 P EY2 T IH0 D exterminated IH0 K S T ER1 M AH0 N EY2 T IH0 D threw TH R UW1 grumbling G R AH1 M B AH0 L IH0 NG functionary F AH1 NG K SH AH0 N EH2 R IY0 navigate N AE1 V AH0 G EY2 T concentrated K AA1 N S AH0 N T R EY2 T IH0 D antiquated AE1 N T AH0 K W EY2 T IH0 D denominate D IH0 N AA1 M AH0 N EY2 T corrugated K AO1 R AH0 G EY2 T IH0 D contaminate K AH0 N T AE1 M AH0 N EY2 T complexions K AH0 M P L EH1 K SH AH0 N Z hew HH Y UW1 ventilated V EH1 N T AH0 L EY2 T IH0 D customary K AH1 S T AH0 M EH2 R IY0 strawberry S T R AO1 B EH2 R IY0 celebrated S EH1 L AH0 B R EY2 T IH0 D emigrated EH1 M AH0 G R EY2 T IH0 D dromedary D R AA1 M AH0 D EH2 R IY0 repudiated R IY0 P Y UW1 D IY0 EY2 T IH0 D abdicate AE1 B D AH0 K EY2 T brew B R UW1 ensue IH0 N S UW1 momentary M OW1 M AH0 N T EH2 R IY0 offending AH0 F EH1 N D IH0 NG ooh UW1 tributary T R IH1 B Y AH0 T EH2 R IY0 demonstrated D EH1 M AH0 N S T R EY2 T IH0 D abbreviated AH0 B R IY1 V IY0 EY2 T IH0 D stipulate S T IH1 P Y AH0 L EY2 T immolate IH1 M AH0 L EY2 T aspirate AE1 S P ER0 EY2 T amputate AE1 M P Y AH0 T EY2 T alleviate AH0 L IY1 V IY0 EY2 T blue B L UW1 emanated EH1 M AH0 N EY2 T IH0 D mandate M AE1 N D EY2 T dietary D AY1 AH0 T EH2 R IY0 reciprocated R IH0 S IH1 P R AH0 K EY2 T IH0 D contaminated K AH0 N T AE1 M AH0 N EY2 T IH0 D amalgamate AH0 M AE1 L G AH0 M EY2 T emulated EH1 M Y AH0 L EY2 T IH0 D fascinate F AE1 S AH0 N EY2 T elucidate IH0 L UW1 S AH0 D EY2 T retaliate R IH0 T AE1 L IY0 EY2 T depopulate D IY0 P AA1 P Y AH0 L EY2 T true T R UW1 mitigate M IH1 T AH0 G EY2 T duplicated D UW1 P L IH0 K EY2 T IH0 D debilitated D AH0 B IH1 L AH0 T EY2 T IH0 D extricate EH1 K S T R AH0 K EY2 T who HH UW1 view V Y UW1 deteriorate D IH0 T IH1 R IY0 ER0 EY2 T objections AH0 B JH EH1 K SH AH0 N Z dysentery D IH1 S AH0 N T EH2 R IY0 crew K R UW1 venerate V EH1 N ER0 EY2 T accrue AH0 K R UW1 ou UW1 advocated AE1 D V AH0 K EY2 T IH0 D navigated N AE1 V AH0 G EY2 T IH0 D pretending P R IY0 T EH1 N D IH0 NG unmitigated AH0 N M IH1 T AH0 G EY2 T IH0 D simulated S IH1 M Y AH0 L EY2 T IH0 D associated AH0 S OW1 S IY0 EY2 T IH0 D crewe K R UW1 tabulated T AE1 B Y AH0 L EY2 T IH0 D disintegrate D IH0 S IH1 N T AH0 G R EY2 T visionary V IH1 ZH AH0 N EH2 R IY0 vue V Y UW1 paperweight P EY1 P ER0 W EY2 T aggregated AE1 G R AH0 G EY2 T IH0 D adulterated AH0 D AH1 L T ER0 EY2 T IH0 D proprietary P R AH0 P R AY1 AH0 T EH2 R IY0 felicitate F AH0 L IH1 S IH0 T EY2 T oxygenated AA1 K S AH0 JH AH0 N EY2 T IH0 D seminary S EH1 M AH0 N EH2 R IY0 elevated EH1 L AH0 V EY2 T IH0 D gu G UW1 saturate S AE1 CH ER0 EY2 T mulberry M AH1 L B EH2 R IY0 corrections K ER0 EH1 K SH AH0 N Z ruminate R UW1 M IH0 N EY2 T reactionary R IY0 AE1 K SH AH0 N EH2 R IY0 portending P AO0 R T EH1 N D IH0 NG opinionated AH0 P IH1 N Y AH0 N EY2 T IH0 D commemorated K AH0 M EH1 M ER0 EY2 T IH0 D protections P R AH0 T EH1 K SH AH0 N Z whew W UW1 salutary S AE1 L Y AH0 T EH2 R IY0 excavated EH1 K S K AH0 V EY2 T IH0 D literary L IH1 T ER0 EH2 R IY0 regenerated R IY0 JH EH1 N ER0 EY2 T IH0 D segregated S EH1 G R AH0 G EY2 T IH0 D uneducated AH0 N EH1 JH UH0 K EY2 T IH0 D monetary M AA1 N AH0 T EH2 R IY0 hundredweight HH AH1 N D R AH0 D W EY2 T strew S T R UW1 exonerated IH0 G Z AA1 N ER0 EY2 T IH0 D premeditated P R IY0 M EH1 D AH0 T EY2 T IH0 D accelerated AE0 K S EH1 L ER0 EY2 T IH0 D dissipated D IH1 S AH0 P EY2 T IH0 D descending D IH0 S EH1 N D IH0 NG ascending AH0 S EH1 N D IH0 NG apothecary AH0 P AA1 TH AH0 K EH2 R IY0 mumbling M AH1 M B AH0 L IH0 NG defending D IH0 F EH1 N D IH0 NG deteriorated D IH0 T IH1 R IY0 ER0 EY2 T IH0 D pecuniary P EH0 K Y UW1 N IY0 EH2 R IY0 alleviated AH0 L IY1 V IY0 EY2 T IH0 D subjugated S AH1 B JH AH0 G EY2 T IH0 D educate EH1 JH AH0 K EY2 T emigrate EH1 M AH0 G R EY2 T precipitated P R IH0 S IH1 P IH0 T EY2 T IH0 D vitiate V IY1 SH IH0 EY2 T consolidate K AH0 N S AA1 L IH0 D EY2 T concentrate K AA1 N S AH0 N T R EY2 T misconstrue M IH0 S K AH0 N S T R UW1 flue F L UW1 suffocated S AH1 F AH0 K EY2 T IH0 D fluctuate F L AH1 K CH AH0 W EY2 T primary P R AY1 M EH2 R IY0 perpetuate P ER0 P EH1 CH AH0 W EY2 T penetrate P EH1 N AH0 T R EY2 T ameliorate AH0 M IY1 L Y ER0 EY2 T indicate IH1 N D AH0 K EY2 T extenuate IH0 K S T EH1 N Y UW0 EY2 T enunciated IH0 N AH1 N S IY0 EY2 T IH0 D stipulated S T IH1 P Y AH0 L EY2 T IH0 D aggravated AE1 G R AH0 V EY2 T IH0 D disseminate D IH0 S EH1 M AH0 N EY2 T rending R EH1 N D IH0 NG perpetrated P ER1 P AH0 T R EY2 T IH0 D deviated D IY1 V IY0 EY2 T IH0 D trending T R EH1 N D IH0 NG delineated D IH0 L IH1 N IY0 EY2 T IH0 D zoo Z UW1 hu HH UW1 dissipate D IH1 S AH0 P EY2 T calculated K AE1 L K Y AH0 L EY2 T IH0 D shew SH UW1 due D UW1 corroborated K ER0 AA1 B ER0 EY2 T IH0 D legislate L EH1 JH IH0 S L EY2 T reiterated R IY0 IH1 T ER0 EY2 T IH0 D affections AH0 F EH1 K SH AH0 N Z discriminate D IH0 S K R IH1 M AH0 N EY2 T arrogate AE1 R OW0 G EY2 T expiate EH1 K S P IY0 EY2 T precipitate P R IH0 S IH1 P IH0 T EY2 T rumbling R AH1 M B AH0 L IH0 NG circulated S ER1 K Y AH0 L EY2 T IH0 D reverberated R IH0 V ER1 B ER0 EY2 T IH0 D magistrate M AE1 JH AH0 S T R EY2 T congregate K AA1 NG G R AH0 G EY2 T vacillate V AE1 S AH0 L EY2 T qu K UW1 necessary N EH1 S AH0 S EH2 R IY0 phew F Y UW1 judiciary JH UW0 D IH1 SH IY0 EH2 R IY0 educated EH1 JH AH0 K EY2 T IH0 D bending B EH1 N D IH0 NG repudiate R IY0 P Y UW1 D IY0 EY2 T narrated N EH1 R EY2 T IH0 D radiated R EY1 D IY0 EY2 T IH0 D imitated IH1 M AH0 T EY2 T IH0 D situate S IH1 CH UW0 EY2 T lending L EH1 N D IH0 NG rue R UW1 military M IH1 L AH0 T EH2 R IY0 stagnate S T AE1 G N EY2 T inmate IH1 N M EY2 T communicated K AH0 M Y UW1 N AH0 K EY2 T IH0 D dilapidated D AH0 L AE1 P AH0 D EY2 T IH0 D decimated D EH1 S AH0 M EY2 T IH0 D undo AH0 N D UW1 jus JH UW1 contemplate K AA1 N T AH0 M P L EY2 T articulated AA0 R T IH1 K Y AH0 L EY2 T IH0 D mortuary M AO1 R CH UW0 EH2 R IY0 subjugate S AH1 B JH AH0 G EY2 T dew D UW1 locate L OW1 K EY2 T humiliate HH Y UW0 M IH1 L IY0 EY2 T secondary S EH1 K AH0 N D EH2 R IY0 complicate K AA1 M P L AH0 K EY2 T regulate R EH1 G Y AH0 L EY2 T boo B UW1 too T UW1 chew CH UW1 facilitate F AH0 S IH1 L AH0 T EY2 T playmate P L EY1 M EY2 T congratulated K AH0 N G R AE1 CH AH0 L EY2 T IH0 D pooh P UW1 commemorate K AH0 M EH1 M ER0 EY2 T mercenary M ER1 S AH0 N EH2 R IY0 unending AH0 N EH1 N D IH0 NG humbling HH AH1 M B AH0 L IH0 NG sioux S UW1 reiterate R IY0 IH1 T ER0 EY2 T relegated R EH1 L AH0 G EY2 T IH0 D emancipate IH0 M AE1 N S AH0 P EY2 T bifurcated B IH1 F ER0 K EY2 T IH0 D monastery M AA1 N AH0 S T EH2 R IY0 erections IH0 R EH1 K SH AH0 N Z revue R IH0 V Y UW1 secretary S EH1 K R AH0 T EH2 R IY0 accommodated AH0 K AA1 M AH0 D EY2 T IH0 D sections S EH1 K SH AH0 N Z collections K AH0 L EH1 K SH AH0 N Z communicate K AH0 M Y UW1 N AH0 K EY2 T promulgated P R AA1 M AH0 L G EY2 T IH0 D mending M EH1 N D IH0 NG goo G UW1 cemetery S EH1 M AH0 T EH2 R IY0 ordinary AO1 R D AH0 N EH2 R IY0 deliberated D IH0 L IH1 B ER0 EY2 T IH0 D bleu B L UW1 cue K Y UW1 implicate IH1 M P L IH0 K EY2 T banbury B AE1 N B EH2 R IY0 elevate EH1 L AH0 V EY2 T separated S EH1 P ER0 EY2 T IH0 D few F Y UW1 consecrate K AA1 N S AH0 K R EY2 T recuperate R IH0 K UW1 P ER0 EY2 T terminate T ER1 M AH0 N EY2 T alienate EY1 L Y AH0 N EY2 T blending B L EH1 N D IH0 NG eradicated IH0 R AE1 D AH0 K EY2 T IH0 D arbitrate AA1 R B AH0 T R EY2 T extirpate EH1 K S T ER0 P EY2 T assassinate AH0 S AE1 S AH0 N EY2 T nu N UW1 commending K AH0 M EH1 N D IH0 NG predominate P R IH0 D AA1 M AH0 N EY2 T rotate R OW1 T EY2 T capitulated K AH0 P IH1 CH AH0 L EY2 T IH0 D veterinary V EH1 T R AH0 N EH2 R IY0 underestimate AH1 N D ER0 EH1 S T AH0 M EY2 T participated P AA0 R T IH1 S AH0 P EY2 T IH0 D shoe SH UW1 demonstrate D EH1 M AH0 N S T R EY2 T mutilate M Y UW1 T AH0 L EY2 T evacuate IH0 V AE1 K Y AH0 EY2 T extending IH0 K S T EH1 N D IH0 NG implicated IH1 M P L IH0 K EY2 T IH0 D operate AA1 P ER0 EY2 T ewe Y UW1 ameliorated AH0 M IY1 L Y ER0 EY2 T IH0 D contemplated K AA1 N T AH0 M P L EY2 T IH0 D attenuated AH0 T EH1 N Y UW0 EY2 T IH0 D annihilate AH0 N AY1 AH0 L EY2 T appropriated AH0 P R OW1 P R IY0 EY2 T IH0 D disciplinary D IH1 S AH0 P L AH0 N EH2 R IY0 populated P AA1 P Y AH0 L EY2 T IH0 D perforated P ER1 F ER0 EY2 T IH0 D designated D EH1 Z IH0 G N EY2 T IH0 D new N UW1 shipmate SH IH1 P M EY2 T cooperate K OW0 AA1 P ER0 EY2 T culinary K Y UW1 L IH0 N EH2 R IY0 enumerate IH0 N UW1 M ER0 EY2 T sending S EH1 N D IH0 NG hereditary HH ER0 EH1 D AH0 T EH2 R IY0 culminate K AH1 L M IH0 N EY2 T hesitate HH EH1 Z AH0 T EY2 T anew AH0 N UW1 bamboo B AE0 M B UW1 speculated S P EH1 K Y AH0 L EY2 T IH0 D obligated AA1 B L AH0 G EY2 T IH0 D blackberry B L AE1 K B EH2 R IY0 emancipated IH0 M AE1 N S AH0 P EY2 T IH0 D commentary K AA1 M AH0 N T EH2 R IY0 dedicate D EH1 D AH0 K EY2 T primate P R AY1 M EY2 T degenerated D IH0 JH EH1 N ER0 EY2 T IH0 D militate M IH1 L IH0 T EY2 T askew AH0 S K Y UW1 procrastinated P R AH0 K R AE1 S T AH0 N EY2 T IH0 D itinerary AY0 T IH1 N ER0 EH2 R IY0 inculcate IH1 NG K AH0 L K EY2 T debut D EY0 B Y UW1 facilitated F AH0 S IH1 L AH0 T EY2 T IH0 D abrogated AE1 B R AH0 G EY2 T IH0 D confectionery K AH0 N F EH1 K SH AH0 N EH2 R IY0 permeated P ER1 M IY0 EY2 T IH0 D u Y UW1 negotiate N AH0 G OW1 SH IY0 EY2 T deviate D IY1 V IY0 EY2 T punctuate P AH1 NG K CH UW0 EY2 T cultivate K AH1 L T AH0 V EY2 T tending T EH1 N D IH0 NG checkmate CH EH1 K M EY2 T determinate D IH0 T ER1 M AH0 N EY2 T narrate N EH1 R EY2 T obliterate AH0 B L IH1 T ER0 EY2 T recuperated R IH0 K UW1 P ER0 EY2 T IH0 D jew JH UW1 retaliated R IH0 T AE1 L IY0 EY2 T IH0 D rejuvenated R IH0 JH UW1 V AH0 N EY2 T IH0 D pending P EH1 N D IH0 NG sedentary S EH1 D AH0 N T EH2 R IY0 undulate AH1 N JH AH0 L EY2 T solitary S AA1 L AH0 T EH2 R IY0 temporary T EH1 M P ER0 EH2 R IY0 assimilate AH0 S IH1 M AH0 L EY2 T ado AH0 D UW1 ruminated R UW1 M IH0 N EY2 T IH0 D isolate AY1 S AH0 L EY2 T saturated S AE1 CH ER0 EY2 T IH0 D connexions K AH0 N EH1 K SH AH0 N Z vocabulary V OW0 K AE1 B Y AH0 L EH2 R IY0 discretionary D IH0 S K R EH1 SH AH0 N EH2 R IY0 transcending T R AE0 N S EH1 N D IH0 NG dubarry D UW1 B EH2 R IY0 congregated K AA1 NG G R IH0 G EY2 T IH0 D

Assignment2/ListIndexOutOfBoundsException.java

Assignment2/ListIndexOutOfBoundsException.java

class   ListIndexOutOfBoundsException   extends   IndexOutOfBoundsException   {
     public   ListIndexOutOfBoundsException ( String  s )   {
         super ( s );
     }
}

Assignment2/ListInterface.java

Assignment2/ListInterface.java

public   interface   ListInterface   {

     // Returns true if the list is empty, false otherwise. 
     public   boolean  isEmpty ();

     // Returns the size of the list (number of items in the list)
     public   int  size ();

     // Adds an Object to the list at the specified index. 
     public   void  add ( int  index ,   Object  value )
         throws   ListIndexOutOfBoundsException ;

     // Removes an item from the list at the specified index. 
     public   void  remove ( int  index )
         throws   ListIndexOutOfBoundsException ;

     // Removes all the items from the list. 
     public   void  removeAll ();

     // Returns the Object stored in the list at the specified index. 
     public   Object  get ( int  index )
         throws   ListIndexOutOfBoundsException ;

     // Returns the index at which an Object is stored in the list, -1 if it's not in the list.
     public   int  find ( Object  o );
}

Assignment2/MyLinkedList.java

Assignment2/MyLinkedList.java


public   class   MyLinkedList   implements   ListInterface   {

     /* TODO: Write a LinkedList implementation for all the methods specified in ListInterface */  
    
}

Assignment2/MySortedLinkedList.java

Assignment2/MySortedLinkedList.java

public   class   MySortedLinkedList   extends   MyLinkedList   {

     /* TODO 
       define the method
       public void add(Comparable c)
       that, given a Comparable (an interface type for all Object subclasses that define a compareTo() method), adds it to the 
       list in sorted order.
    */
    
     /* TODO
       override the method
       void add(int index, Object o)
       so that it throws an UnsupportedOperationException with the message "Do not call add(int, Object) on MySortedLinkedList".
       Directly adding objects at an index would mess up the sorted order.
    */
}

Assignment2/RhymeGroupWords.java

Assignment2/RhymeGroupWords.java

public   class   RhymeGroupWords   {
     private   String  rhymeGroup ;   // The pronunciation for a rhyme group 
     private   ListInterface  wordList ;   // The list of words that are in this rhyme group. 

     // To create a new RhymeGroupWords, pass in the pronunciation string for the rhyme group and a list implementing ListInterface.
     public   RhymeGroupWords ( String  rg ,   ListInterface  wl )   {
        rhymeGroup  =  rg ;
        wordList  =  wl ;  
     }

     // Public accessor for the rhyme group string. 
     public   String  getRhymeGroup ()   {
         return  rhymeGroup ;  
     }

     // Public accessor for the list of words. 
     public   ListInterface  getWordList ()   {
         return  wordList ;  
     }
}

Assignment2/RhymingDict.java

Assignment2/RhymingDict.java

import  java . io . * ;
import  java . util . * ;
import  java . util . Arrays ;
import  java . nio . file . Files ;
import  java . nio . file . Paths ;

public   class   RhymingDict   {   
  

     // Given a pronunciation, get the rhyme group
     // get the more *heavily emphasized vowel* and follwing syllables
     // For "tomato", this is "-ato", and not "-omato", or "-o"
     // Tomato shares a rhyming group with "potato", but not "grow"
     private   static   String  getRhymeGroup ( String  line )   {

         int  firstSpace  =  line . indexOf ( " " );  

         String  pronunciation  =  line . substring ( firstSpace  +   1 ,  line . length ());

         int  stress0  =  pronunciation . indexOf ( "0" );
         int  stress1  =  pronunciation . indexOf ( "1" );
         int  stress2  =  pronunciation . indexOf ( "2" );

         if   ( stress2  >=   0 )
             return  pronunciation . substring ( stress2  -   2 ,  pronunciation . length ());
         if   ( stress1  >=   0 )
             return  pronunciation . substring ( stress1  -   2 ,  pronunciation . length ());
         if   ( stress0  >=   0 )
             return  pronunciation . substring ( stress0  -   2 ,  pronunciation . length ());
        
         // No vowels at all? ("hmmm", "mmm", "shh")
         return  pronunciation ;
     }

     private   static   String  getWord ( String  line )   {
         int  firstSpace  =  line . indexOf ( " " );

         String  word  =  line . substring ( 0 ,  firstSpace );

         return  word ;  
     }

     // Load the dictionary
     private   static   String []  loadDictionary ()   {
         // Load the file and read it

         String []  lines  =   null ;   // Array we'll return holding all the lines of the dictionary
        
         try   {
             String  path  =   "cmudict/cmudict-short.dict" ;
             // Creating an array of strings, one for each line in the file
            lines  =   new   String ( Files . readAllBytes ( Paths . get ( path ))). split ( "\\r?\\n" );
            
         }
         catch   ( IOException  ex ){
            ex . printStackTrace ();
         }

         return  lines ;  
     }

    
     public   static   void  main ( String   [] args )   {

         String []  dictionaryLines  =  loadDictionary ();

         /* This code is in here to help you test MyLinkedList without having to mess around with the dictionary. 
           Feel free to change this test code as you're testing your linked list. But be sure to comment this code
           out when you submit it.      
        MyLinkedList testList = new MyLinkedList(); 
        testList.add(0, "hello");
        testList.add(1, "world");
        testList.add(2, "!");
        System.out.println(testList);
        System.out.println("index 2 = " + testList.get(2));
        System.out.println("world at index " + testList.find("world"));
        System.out.println("hello at index " + testList.find("hello"));
        System.out.println("! at index " + testList.find("!"));
        System.out.println("wow at index " + testList.find("wow"));
        testList.remove(2);
        System.out.println(testList);
        testList.remove(0);
        System.out.println(testList);
        testList.remove(0);
        System.out.println(testList);
        System.out.println("hello at index " + testList.find("hello"));
        */

         // List of rhyme groups. The items in this linked list will be RhymeGroupWords. 
         ListInterface  rhymeGroups  =   new   MyLinkedList ();  

         /* TODO: Add in your code to load the dictionary into your linked lists. Remember that rhymeGroups is a 
           list of RhymeGroupWords. Inside each of this objects is another linked list which is a list of words within the same
           rhyme group. I would recommend first getting this working with MyLinkedList for both lists (rhyme groups and 
           word lists) then get it working using MySortedLinkedList for the word groups. */

         /* End TODO for adding dictionary in rhymeGroups. */

         // This code prints out the rhyme groups that have been loaded above. 
         for ( int  i  = 0 ;  i  <  rhymeGroups . size ();  i ++ )   {
             RhymeGroupWords  rg  =   ( RhymeGroupWords )  rhymeGroups . get ( i );
             System . out . print ( rg . getRhymeGroup ()   +   ": " );
             System . out . println ( rg . getWordList ());
         }  

         /* TODO: Add the code here to iterate through pairs of arguments, testing to see if they are in the same rhyme group or not.
        */
     }
}