怎么输出二维数组中的所有单词
答案:2 悬赏:20
解决时间 2021-03-12 07:39
- 提问者网友:优雅ぉ小姐
- 2021-03-11 15:52
怎么输出二维数组中的所有单词
最佳答案
- 二级知识专家网友:寂寞的炫耀
- 2021-03-11 17:17
首先建立一个足够大的空hash表,并初始化所有元素碰撞标记为false。然后逐一读取文件1中的每个单词,并计算其散列值,将散列值和hash表中的已有值作比较。如果没有匹配则将其加入hash表并置该单词碰撞标记为false;如果有匹配则跳过该单词并将。
处理完文件1后,将所有元素碰撞标记重置为false,然后逐一读取文件2中的每个单词,并计算散列值,尝试在hash表中寻找碰撞。如果发生碰撞,检查该单词的碰撞标记。如果标记为false,将标记置为true并将该单词加入输出二维数组中;如果标记为true,跳过该单词。如果没有碰撞,同样跳过该单词。处理完毕后,输出二维数组里的数据。
散列算法可以采用常用的字符串hash函数如BKDRHash、ELFHash等。
处理完文件1后,将所有元素碰撞标记重置为false,然后逐一读取文件2中的每个单词,并计算散列值,尝试在hash表中寻找碰撞。如果发生碰撞,检查该单词的碰撞标记。如果标记为false,将标记置为true并将该单词加入输出二维数组中;如果标记为true,跳过该单词。如果没有碰撞,同样跳过该单词。处理完毕后,输出二维数组里的数据。
散列算法可以采用常用的字符串hash函数如BKDRHash、ELFHash等。
全部回答
- 1楼网友:飘零作归宿
- 2021-03-11 17:44
如果你要使输出的a和前面的空格总数合起来为三那么你可以这样写 cout<<setw(3)<<a; 所以你的程序应该是这样滴 for (int i=0;i<=2;i++){ for (int j=0;j<=3;j++) cout<<setw(3)<<a[i][j]; cout<<endl; } for (int g=0;g<=3;g++) cout<<b[g]<<" "; return 0;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯