【发布时间】:2018-09-01 08:16:28
【问题描述】:
string name[size] = {"Collins, Bill", "Smith, Bart", "Michalski, Joe", "Griffin, Jim",
"Sanchez, Manny", "Rubin, Sarah", "Taylor, Tyrone", "Johnson, Jill",
"Allison, Jeff", "Moreno, Juan", "Wolfe, Bill", "Whitman, Jean",
"Moretti, Bella", "Wu, Hong", "Patel, Renee", "Harrison, Rose",
"Smith, Cathy", "Conroy, Pat", "Kelly, Sean", "Holland, Beth"};
int binarySearchIterative(string name[], int size, string empName) {
int low = 0;
int high = size - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (empName == name[mid]) {
return mid;
} else if (empName < name[mid]) {
high = mid - 1;
} else {
low = mid + 1;
}
}
return -1;
}
因此,当我输入要搜索的名称时,我必须完全按照数组中列出的方式输入它。例如,如果我想找到比尔柯林斯。我必须输入柯林斯,比尔。如果我输入 Bill Collins,它会告诉我找不到该员工。我需要能够在不使用逗号的情况下搜索名字 First Last。如果您需要查看我的更多代码,请告诉我。
【问题讨论】:
-
你自己尝试过什么吗?
-
您需要将这些名称分开,因为实际上没有人会以这种方式输入它们。
-
你的问题是什么?
标签: c++ c++11 search binary-search