Tag: 实现

C / C ++实现类似于子集和的算法

问题比knapsack (或其类型,没有值和只有正重量)更简单。 问题在于检查数字是否可以是其他数字的组合。 该函数应返回true或false 。 例如, 112和{ 17, 100, 101 }的列表应该返回false , 469具有相同的列表应该返回true , 35应该返回false , 119应该返回true ,等等… 编辑:子集和问题比背包更准确。

返回x,其中n位从位置p开始,设置为y的最右边n位,其他位保持不变

我的解决方案 get the rightmost n bits of y a = ~(~0 << n) & y clean the n bits of x beginning from p c = ( ~0 << p | ~(~0 << (p-n+1))) & x set the cleaned n bits to the n rightmost bits of y c | (a << (p-n+1)) 这是一个相当长的陈述。 我们有更好的吗? […]

随机数发生器的实现

可能重复: 随机数发生器如何工作? 我正在寻找C / C ++中随机数生成器的内部实现。基本上我很想知道调用rand()时究竟发生了什么。 在所有机器遵循一套明确的指令后,它怎么可能是随机的! 编辑:想知道如何在C / C ++中实现一个。

(n – 乘法)vs(n / 2 – 乘法+2加法)哪个更好?

我有一个C程序有n次乘法(单次乘法,n次迭代),我发现另一个逻辑有n / 2次迭代(1次乘法+2次加法)。 我知道两者都是O(n)的复杂性。 但就CPU周期而言。 哪个更快?

我如何实现类似于ANSI C中的Objective-C @encode()编译器指令的东西?

@encode指令返回一个const char *,它是传入的数据类型的各种元素的编码类型描述符。示例如下: struct test { int ti ; char tc ; } ; printf( “%s”, @encode(struct test) ) ; // returns “{test=ic}” 我可以看到使用sizeof()来确定原始类型 – 如果它是一个完整的对象,我可以使用类方法进行内省。 但是,它如何确定不透明结构的每个元素?

在C中转换向量的C ++实现

我在C ++中编写了以下代码,但是发现我必须在C中转换它。我不是C甚至是C ++程序员,请帮忙。 有人可以帮助我将此方法更改为C指令,特别是向量实现,以下将无法编译我已删除复杂性以保持简单。 谢谢你的期待。 __declspec(dllexport) std::vector WINAPI ABC(char *strVal) { MY_STRUCT f; std::vector list = std::vector(); while (*dddd) { /*do the following for every feature in license file*/ f.attrib_num = fi.attrib_num; f.attrib_lic = fi.attrib_lic; list.push_back(f); } /* end while(conf) */ dddd++; printf(“\n”); } /* end while (*dddd) */ return flist; }

为什么Linux memmove()以它的方式实现?

从memmove的Linux 手册(3) memmove()函数将n个字节从内存区域src复制到内存区域dest。 存储区可能重叠:复制发生就像src中的字节首先被复制到一个不与src或dest重叠的临时数组中,然后将字节从临时数组复制到dest。 不是分配临时数组并将值复制两次,我们可以执行以下操作: void *my_memmove(void *dest, const void *src, size_t n) { signed char operation; size_t end; size_t current; if(dest != src) { if(dest < src) { operation = 1; current = 0; end = n; } else { operation = -1; current = n – 1; end = -1; } for( ; […]

所有对最短路径问题的最快实现?

我有一个加权图表30k节点160k边,没有负权重。 我想计算从所有节点到其他节点的所有最短路径。 我想我不能假设任何特定的启发式来简化问题。 我试图使用这个Dijkstra C实现http://compprog.wordpress.com/2007/12/01/one-source-shortest-path-dijkstras-algorithm/ ,这是针对单个最短路径问题,调用函数dijkstras ()我所有的30个节点。 你可以想象,它需要很长时间。 目前我没有时间自己编写和调试代码,我必须尽快计算这些路径并将它们存储在数据库中,这样我就可以找到另一个更快的解决方案了,你有没有有小费吗? 我必须在最近的8GB内存的macbook pro上运行它,我想找到一个不超过24小时完成计算的解决方案。 非常感谢提前!! 欧亨尼奥

为什么C和Ruby之间的模运算符(%)的行为对于负整数是不同的?

我在这里运行一些代码。 我试过-40 % 3 。 它给了我输出2 。 当我在C中执行相同的操作时,我得到: int i = (-40) % 3 printf(“%d”, i); 输出是 -1 两种语言如何在内部执行模运算?

如何在C中链接多个实现文件

我有一些.c文件,即实现文件说 main.c中 AC 公元前 来自任何文件的函数可以从不同的文件中调用任何函数。 我的问题是,我是否需要一个.h ie头文件用于A和B的每个实现,其中每个头文件都有A或B中所有函数的定义。 另外,main.c会包含Ah和Bh #included吗? 如果有人能够最终说清楚,那么我如何在以后编译并运行终端中的多个文件。 谢谢。