我现在有一个问题,我试图将一个字符串绑定到一个值.在C中关联这些值的最简单方法是什么?我本质上想要一个像元组一样的Python,我可以添加到列表中.
我正在尝试实现一种算法,对于第一个向量中的每个字符串,它在第二个向量中进行二进制搜索,如果找到匹配则输出"YES:",否则输出"No:".
现在我的程序我的算法总是输出"NO:"而我无法找出出了什么问题.任何提示或技巧将不胜感激.
我的二进制搜索:
bool binary_search(const vector<string>& sorted_vec, string key) {
size_t mid, left = 0 ;
size_t right = sorted_vec.size(); // one position passed the right end
while (left < right) {
mid = left + (right - left)/2;
if (key > sorted_vec[mid]){
left = mid+1;
} else if (key < sorted_vec[mid]){
right = mid;
} else {
return true;
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我的Algo:
if(algo_speed == "fast"){
string key = fileContent[i];
while(getline(ifs1, line)){
fileContent1.push_back(line);
}
sort(fileContent1.begin(), fileContent1.end());
for(size_t …Run Code Online (Sandbox Code Playgroud) 而且我做得非常好,事实上我找到了交叉点,并认为我有正确的代码.唯一的问题是它似乎没有打印出最后一个值.
所以如果我有两套:
9 12 7 8 1 19 11 2 14
15 10 8 2 5 16 14 7 19 0 11 3 13 18 9 17 1 12
我的代码将产生以下输出:
1
2
7
8
9
11
12
14
Run Code Online (Sandbox Code Playgroud)
但是这些集合的正确交集应该是:
1
2
7
8
9
11
12
14
19
Run Code Online (Sandbox Code Playgroud)
所以,我的代码不打印出最后一个值,我找不到原因.
void findIntersection(vector<int> A, vector<int> B)
{
vector<int> intersection;
int n1 = A.size();
int n2 = B.size();
int i = 0, j =0;
while(i <= n1 && j <= n2)
{
if(A[i] …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个简单地杀死我的程序的函数。它被称为退出聊天。但是,当我调用函数时出现此错误messenger:quitChat()。
** exception error: bad argument
in function exit/2
called as exit(undefined,kill)
in call from messenger:quitChat/0 (messenger.erl, line 26)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我正在使用此代码:
-module(messenger).
-export([start_server/0, server/1, logon/1, logoff/0, message/2, client/2,
requestChat/1, quitChat/0]).
server_node() ->
messenger@timberlake.
server(User_List) ->
receive
{From, logon, Name} ->
New_User_List = server_logon(From, Name, User_List),
server(New_User_List);
{From, logoff} ->
New_User_List = server_logoff(From, User_List),
server(New_User_List);
{From, message_to, To, Message} ->
server_transfer(From, To, Message, User_List),
io:format("list is now: ~p~n", [User_List]),
server(User_List)
end.
start_server() ->
register(messenger, spawn(messenger, server, [[]])).
quitChat() ->
exit(whereis(messenger), …Run Code Online (Sandbox Code Playgroud)