Linked Lists
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.
*/
}
}