我是C++的新手,来自幸福快乐的Python世界.
我决定编写一组函数来查找一组数字的均值,中位数,模式和范围.为了帮助计算中位数,我决定制作l2g(最小到最大)和g2l(最大到最小).我知道我只会使用其中一种,但是为了完整起见,我想两者兼顾.
我希望我的程序尽可能少依赖外部(甚至标准)库.这样做的原因是我很可能会使用我再写的任何函数.它们将在我基于BrokenThorn教程开发的操作系统中使用.因此,我想保持代码尽可能独立,使用我编写的函数而不是标准库中的函数.
我有两个问题:
另一个问题是,当我返回指向它的指针时,我认为我需要返回数组的长度.这样做的原因是使用for循环来遍历该数组的内容,我需要在数组中使用最高位置,所以我不会得到垃圾.我有办法通过制作一个有两个成员,长度和数组的结构来避免这个问题.它看起来像这样:
struct arrayLength {
int l;
float * p;
} ;
Run Code Online (Sandbox Code Playgroud)
我希望以下一组电话:
float * myArrayPointer; // I will change this to user input once I get the rest of the program working
myArrayPointer = new float[5];
myArrayPointer[0] = 65.97;
myArrayPointer[1] = 21.06;
myArrayPointer[2] = 21.06;
myArrayPointer[3] = 509.69;
myArrayPointer[4] = -41.73; // Can floats be negative?
cout << mean(myArrayPointer, 5); // Give function mean the pointer to array and number of elements
cout << …Run Code Online (Sandbox Code Playgroud) 我有一个HTML的网址:
<a href="index.php?q=event&id=56&date=128">
Run Code Online (Sandbox Code Playgroud)
我需要把它变成一个完全如下的字符串:
<a href="index.php?q=event&id=56&date=128">
Run Code Online (Sandbox Code Playgroud)
我知道如何用preg_replace等来做这个,但是在php中是否有一个函数直接处理我可以用于其他编码问题的编码,例如&nsbp(或者它是什么等)?理想情况下,我会将我的字符串发送到函数中,它将输出'&'而不是& 是否有转换&TEXT的通用功能; 成为一个真正的角色?
编辑:抱歉,在我输入完问题之前发布了这个.问题现已完成.
我正在尝试根据"算法简介"中的"B-Trees"章节实现B树.
我不太了解的是"最小程度".在书中,声明度是一个数字,表示节点可以容纳的键数的下限/上限.它还说:
t - 1密钥并具有t子节点.2*t - 1密钥并具有2*t子节点.所以你得到t = 2:
t - 1 = 1个键,t = 2个孩子2*t - 1 = 3把钥匙和4个孩子对于t = 3
t - 1 = 2个键,t = 3个孩子2*t - 1 = 5把钥匙和6个孩子现在问题是:B-Tree中的节点似乎只能在满满时存储奇数个密钥.
为什么不能有一个节点,最多可以说4个键和5个孩子?它与拆分节点有关吗?
我有一个Tab-delimited字符串(表示一个表),传递给我的方法.当我将它打印到命令行时,它看起来像一个包含行的表:
http://i.stack.imgur.com/2fAyq.gif
命令窗口已正确缓冲.我的想法是每行之前或之后肯定有一个新的行字符.
我的问题是我想将传入的字符串拆分为表示表格行的单个字符串.到目前为止,我有:
private static final String newLine = System.getProperty("line.separator").toString();
private static final String tab = "\t";
private static String[] rows;
...
rows = tabDelimitedTable.split(newLine); //problem is here
System.out.println();
System.out.println("################### start debug ####################");
System.out.println((tabDelimitedTable.contains(newLine)) ? "True" : "False");
System.out.println("#################### end debug###################");
System.out.println();
Run Code Online (Sandbox Code Playgroud)
输出:
################### start debug ####################
False
#################### end debug###################
Run Code Online (Sandbox Code Playgroud)
显然,字符串中有一些东西告诉操作系统开始新的一行.然而它显然不包含换行符.
在Windows XP SP3上运行最新的JDK.
有任何想法吗?
我有一个日期文本字段,我希望有时只附加一个DatePicker,因为我有一些自己的文本处理脚本来处理部分日期字符串.但是,调用.remove或.destroy会在输入字段上保留文本格式化行为,这会将我的"8"字符串转换为"8/18/2010".更糟糕的是,如果我开始删除,它坚定地认为,一旦我达到"8/18/20",我实际上想要"8/18/2020".
什么是最好的方式完全,完全,使它像从未删除我的页面中的datepicker?我也可以使用它,如果它只是忽略我在任何时候完全输入的文本,但在这种情况下,我更喜欢它出现在双击/图像按钮,而不是总是.
编辑:
这都在jqGrid中,其中'selector'是日期列上的文本框:
function showPicker(selector) {
$(selector).datepicker({
onClose: function() {
$(selector).datepicker('remove');
// or 'destroy' or $('.datepicker').remove(); or $(this).datepick('remove');
}
});
}
Run Code Online (Sandbox Code Playgroud)
这可以防止它返回,但不能操纵我的文本字段.没有其他代码(我知道)正在操纵该字段的内容,只是jqGrid正在监视输入密钥以发送数据.查看页面生成的代码,datepicker div甚至仍然位于底部.
edit2:如果我这样做,我会得到完全相同的行为:
<html>
<body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready( function(){
$("#pickle").datepicker({
onClose: function(){
$(this).datepicker('remove');
}
});
});
</script>
<input type="text" id="pickle" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这导致了与我所看到的相同的行为,但将其更改为"destroy" 在这里工作但不在我的页面上.奇.
我已经使用vim几个月了,我已经习惯使用C和D来改变和删除从光标到行尾的所有内容.
考虑下面的行,光标在'bar'的'b'上:
foo.bar("hello world")
Run Code Online (Sandbox Code Playgroud)
在这一点击中D将产生:
foo.
Run Code Online (Sandbox Code Playgroud)
点击C将执行相同的加上开始插入模式,光标在句点之后.
但是,按Y不会做直观相似的事情(复制从光标到行尾的所有内容).相反,它复制整行(就像yy一样).
如何将Y从光标复制到行尾,而不是像yy一样复制整行?
我在SQL服务器中有一个视图,它从一个模式版本转换为另一个模式版本.
目前,视图如下所示:
SELECT newValue AS oldValue
FROM dbo.MyTable
Run Code Online (Sandbox Code Playgroud)
麻烦的是,在新模式中,newValue不可为空,因此我们将其设置为-1表示空字段,但在旧模式中,它可以为空.
我该怎样做才能达到以下效果:
SELECT
(
IF( newValue > -1 )
newValue as oldValue
ELSE
NULL as oldValue
)
FROM dbo.MyTable
Run Code Online (Sandbox Code Playgroud) 在我们的应用程序中,我们有活动A,B,C,D和E.用户通常从A到E,通过B,C,D.
在Activity E中我们想要回到A,并从堆栈中删除B,C,D.我们不想从E重新创建A.
如何从堆栈中弹出'B,C,D然后返回A?
这可能是一个愚蠢的问题,但是:
假设一个表达式仅依赖于文字,或者仅依赖于文字的其他表达式; 编译器会在编译时对此进行评估吗?
假设我有,
(def a (some-time-consuming-function some-literal))
(def b (some-other-time-consuming-function a))
Run Code Online (Sandbox Code Playgroud)
是否会在编译时完全评估b和a,以便用户不受影响?
编辑:非常感谢,所有的答案都非常有帮助.
编辑6.6.2011: 事实证明,如果您尝试使用此技术预先计算非常大的数据结构,则很容易使类文件太大而无法加载.在这些情况下,您希望创建一个将被读入的文件而不是将要加载的类文件.这些答案中描述的宏观技巧只应在返回值不是过大的结构的情况下应用.
抛出的错误是:"java.lang.ClassFormatError:此类索引无效"有关相关情况的讨论,请参阅此主题.