public void choice(string a, string b) { locWord userWord = new locWord(a); valueWord userValue = new valueWord(b, 1); uaddWordsToList(userWord, userValue); }
static int addWordsToList(locWord a) { int length = wordList.Count - 1; if (length == -1) { wordList.Add(a); return(1); } if (String.Compare(wordList[length].words, a.words) == 0) { return(0); } if (String.Compare(wordList[0].words, a.words) == 1) { wordList.Insert(0, a); return(1); } if (String.Compare(wordList[length].words, a.words) == -1) { wordList.Add(a); return(1); } int max = length, min = 0, mid; int count = 0; while (true) { if (count == 8000) { return(-1); } mid = (min + max) / 2; if (String.Compare(wordList[mid].words, a.words) == -1 && String.Compare(wordList[mid + 1].words, a.words) == -1) { min = mid; } else if (String.Compare(wordList[mid].words, a.words) == 1 && String.Compare(wordList[mid + 1].words, a.words) == 1) { max = mid; } else if (String.Compare(wordList[mid].words, a.words) == 0 || String.Compare(wordList[mid + 1].words, a.words) == 0) { return(0); } else { wordList.Insert(mid + 1, a); return(1); } count++; } }
int uaddWordsToList(locWord a, valueWord b) { a.totalTimes++; int length = uWordList.Count - 1; if (length == -1) { uWordList.Add(a); uaddWordsToLink(a.link, b); return(1); } if (String.Compare(uWordList[length].words, a.words) == 0) { uWordList[length].totalTimes++; uaddWordsToLink(uWordList[length].link, b); uWordList[length].link.Sort(dc); return(0); } if (String.Compare(uWordList[0].words, a.words) == 1) { uWordList.Insert(0, a); uaddWordsToLink(a.link, b); return(1); } if (String.Compare(uWordList[length].words, a.words) == -1) { uWordList.Add(a); uaddWordsToLink(a.link, b); return(1); } int max = length, min = 0, mid; int count = 0; while (true) { if (count == 8000) { return(-1); } mid = (min + max) / 2; if (String.Compare(uWordList[mid].words, a.words) == -1 && String.Compare(uWordList[mid + 1].words, a.words) == -1) { min = mid; } else if (String.Compare(uWordList[mid].words, a.words) == 1 && String.Compare(uWordList[mid + 1].words, a.words) == 1) { max = mid; } else if (String.Compare(uWordList[mid].words, a.words) == 0 || String.Compare(uWordList[mid + 1].words, a.words) == 0) { uWordList[mid].totalTimes++; uaddWordsToLink(uWordList[mid].link, b); uWordList[mid].link.Sort(dc); } else { uWordList.Insert(mid + 1, a); uaddWordsToLink(a.link, b); return(1); } count++; } }