编程论坛
注册
登录
编程论坛
→
C++教室
看不懂的比较操作
mfkblue
发布于 2010-01-27 15:08, 590 次点击
只有本站会员才能查看附件,请
登录
这个函数目的应该是在一个线性表内查找一个与e相同的元素.
!(*compare)(*p++,e) 这两个括号是什么?
函数指针? 指向一个比较的函数?
[
本帖最后由 mfkblue 于 2010-1-27 15:39 编辑
]
7 回复
#2
mfkblue
2010-01-27 15:37
只有本站会员才能查看附件,请
登录
还有一个方程,小弟数学不咋的,这个方程对学编程来说,应该不会解也没关系吧?
如果我想学的话,这个是不是高中数学里的东西?具体在哪部分?
如有知者,敬请告知,不尽感激.
#3
福尔摩斯
2010-01-28 09:16
(*compare)()
是一个 指向函数 的指针, 注意它前边的 感叹号!, 表示这个函数 的返回值 取 反
至于你二楼提到的, 我可以很明确地 告诉你, 累加符号(sigma) 右边 是等差数列求和(从1到n求和), 结果是 n(n+1)/2
这个可以算是 高中数学 吧, 但是我最早看到它的时候是 张筑生 的《数学分析》中看到
#4
mfkblue
2010-01-28 15:09
回复 3楼 福尔摩斯
哎,我惨了,n(n+1)/2你这个结果我都无法解出等于n/2。
看来我别说高中,我连初中的都已经还给老师了。
谢谢了,方程先丢一边,继续教程去.
#5
pangding
2010-01-28 22:43
我教你~
它是:
1/(n+1) * sigma(...)
sigma 不是解出来等于 n(n+1)/2 吗?
乘以前边那个 1/(n+1) ,得 n(n+1) / 2(n+1)。一约分(就是把分子和分母里都有的东西划掉)就出 n/2 了。
是不是很简单呀~
#6
mfkblue
2010-01-29 15:00
哇,谢谢了.pangding好久不见哈~
其实就是那个sigma的符号搞的我很晕,原来三楼的已经指出了那个符号解开等于(1+n)n/2.
上底加下底乘高除2,记起来了.
我怎么算出来是n/2(n-i+1).sigma后面括号里的怎么划掉了.
#7
pangding
2010-01-30 14:27
上底就是 i = 1 代进去,括号里就是 (n - 1 + 1) 这是 n。
下底是 i = n + 1 代,(n - (n+1) + 1) 这是 0。
高是 n+1。(i 从 1 到 n+1,一共 n+1 项)
上底加下底乘高除2,(n + 0) * (n + 1) / 2,就是 n(n+1)/2。
嘿嘿,确实好久不见了。
[
本帖最后由 pangding 于 2010-1-30 14:29 编辑
]
#8
mfkblue
2010-01-30 14:47
我倒,我昨天的理解又错了,怪不得算不出结果.
我以为那个sigma就是直接1到n的累加和.(其实结果相同)
完全没算上∑右边的n-i+1.
按照你上面的推了下应该i=1时,n是上底,公式是n+(n-1)+(n-2)....+0.
你上面写两个上底啊,不过今天应该是明白点了,那个0是下底.
1