Tim, thank you. I understand the dynamic better now.
To give some context, to my interest in LinkedLists, imagine a “hobby” class cipher method called KEYPHRASE.
With that method, unlike polyalphabet ciphers that used multiple cipher text (CT) letters for a single plain text (pt) letter, the keyphrase is such that a single cipher letter can represent multiple plain text letters as in:
CT WOWWHATAGOODBOYAREYOUTODAY
pt ABCDEFGHIJKLMNOPQRSTUVWXYZ - usually represented in lower case.
They don’t line up because of the font but the cipher letters W,O,A,T,Y could each represent any one of several pt letters. When ever the cipher letter “O” appears, it could be one of six plain text letters.
In decrypting the cipher - without the keyphrase itself - in the beginning, any cipher text letter could represent one of more of 26 letters (assuming English language). As guesses are made, a plain text letter is assigned to a specific cipher letter. Remember, a cipher letter can have more than one plain text letters assigned to it. More importantly, it removes that plain letter from the list of candidates for all the other cipher letters. As the candidate letter lists get smaller, so do the lists of potential English words that would match the remaining candidate letters.
Eventually, the letter list becomes small enough so all possible letter combinations can be generated and matched against a dictionary of English words. There would only be a few letter combinations that match words. Now the candidate word list is small enough that the correct word could be guessed from context.
While the user is making the guesses, the program is adjusting lists of letters and eventually lists of words. A correct guess reduces the other lists. Turn a letter “back in”, the lists get larger.
I suppose I could use a two dimensional array were one cell would contain a letter and the other cell would be a “marker” character letting me know if the letter was still a candidate.
Or, with one dimension, I could add 26 to the ASCII value . Then, if the ASCII value is out of the A-Z (capital) range, it isn’t a candidate anymore. To make it a candidate again, I’d subtract 26 from the ASCII value.
But LinkLists seem to just match my mental picture. And it’s a tickle to start imagining a non-linear representations - lists linked to lists.