我正在使用二进制搜索树.
所以,这是用于表示节点的结构:
typedef struct TreeNode
{
int num;
struct TreeNode *left,*right;
}TREENODE;
Run Code Online (Sandbox Code Playgroud)
要在树中插入节点,我有以下方法签名
void InsertNode(TREENODE **root,int data);
Run Code Online (Sandbox Code Playgroud)
在上面的方法中为什么我们需要双指针.我们可以使用单个指针!
我们使用双指针避免重复吗?
在简单的书中阅读C#的Hashing主题时,我发现了以下引用!
您可以通过"拉伸"密码哈希来反复重复以提供更多计算密集型字节序列,从而提供针对字典攻击的额外保护.如果你重复100次,那么可能需要1个月的字典攻击需要8年.
所以我这样实现了!
byte[] data = Encoding.UTF8.GetBytes("Password is 12345679");
byte[] hash = SHA512.Create().ComputeHash(data);
int temp=0;
while (temp < 100)
{
hash = SHA512.Create().ComputeHash(hash);
temp++;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码是对的吗?字典攻击真的需要8年左右才能破译?
我们有Throwable类,它是类的基类Error(用于不可恢复的错误)和Exception类(用于可恢复的错误)
所以,
1>我们可以 throw实现一个实现error类的对象.(虽然实现类没有意义,Error因为我们有Exception类做同样的事情..)
2> Java不建议捕获Error对象..
那么Error对象的需求是什么呢?编译器不能在内部实现它吗?这不是一个错误吗?
<?xml version="1.0"?>
-<bookstore>
<book >
<title>aaaa</title>
-<author >
<first-name>firts</first-name>
<last-name>last</last-name>
</author>
<price>8.23</price>
<otherbooks>
<book >
<title>bbb</title>
<price>18.23</price>
</book>
<book >
<title>ccc</title>
<price>11.22</price>
</book>
</otherbooks>
</book>
</bookstore>
Run Code Online (Sandbox Code Playgroud)
我从xml文件中选择了所有书籍.如何使用XPath为每本书选择标题,作者(名字和姓氏)和价格?
xPathDoc = new XPathDocument(filePath);
xPathNavigator = xPathDoc.CreateNavigator();
XPathNodeIterator xPathIterator = xPathNavigator.Select("/bookstore//book");
foreach (XPathNavigator book in xPathIterator)
{
??
}
Run Code Online (Sandbox Code Playgroud) 因此,自从它被引入以来,我一直喜欢使用for each关键词进行迭代STL collections.(我非常喜欢语法糖).
我的问题是如何编写可以使用这些关键字迭代的自定义集合?
从本质上讲,我需要为我的集合公开哪些APi才能使用这些关键字进行迭代?
如果这听起来很生硬,我很抱歉,但请不要回答"使用提升","不要写自己的收藏品"等.我的朋友,追求知识.如果不可能,嘿,我可以处理.
我也非常希望不必将STL迭代器注入我的集合中.
提前致谢!
我有一个文本文件中的URL列表我试图更改为HTML,但我失败了.
我的网址采用以下格式:
http://mydomain.com/here-are-my-links.html
Run Code Online (Sandbox Code Playgroud)
有没有人知道我可以在Notepad ++中运行的正则表达式搜索/替换命令将我的URL列表更改为以下格式:
<a href="http://mydomain.com/here-are-my-links.html">here are my links</a>
Run Code Online (Sandbox Code Playgroud) 我需要一个正则表达式来匹配除Q以外的任何字符或单词.
我尝试使用表达式
/\b((?!(Q)).+?)\b/
Run Code Online (Sandbox Code Playgroud)
但它不起作用!
当有一个大文件移入监视文件夹时,它created甚至在文件被完全复制之前就会引发事件.
在创建的事件中复制此类文件会导致"另一个进程正在使用该文件"错误.
我使用了一个尝试复制文件的线程,直到允许这样做.但我仍然不满意.
我们可以配置FileSystemWatcher,只有在文件完全复制后才会引发创建的事件吗?谢谢.
我有XML,如下所示
<NodeName Foo="True" Foobar="False" />
<NodeName Foo="False" Foobar="False" />
<NodeName Foo="True" Foobar="False" />
Run Code Online (Sandbox Code Playgroud)
我正在查询这个以使用以下方法找到具有Foo值'True'的NodeName:
.Where(node => node.Attribute("Foo").Value = "True");
Run Code Online (Sandbox Code Playgroud)
但是,属性Foo可能不存在,这会导致异常.
问题是如何实现逻辑来检查属性是否存在,然后检查值是否存在?
我已经尝试了以下但是不确定在else括号中返回什么,因为目前它不会编译错误,不会在所有路径上返回值.
.Where(node =>
{
if (node.Attribute("Foo") != null)
{
node.Attribute("Foo").Value == "True";
}
else { }
});
Run Code Online (Sandbox Code Playgroud) 为什么Java不能根据文件夹结构搞清楚?
似乎已经由根源文件夹指定了到包的映射以及该特定文件的路径.
它是完全耦合的,并且在没有IDE的情况下进行重构是非常繁琐的 - 虽然更新对该文件的引用仍然是,但它至少可以部分地由编译器计算出来,而不是在文件级别指定包.