基本操作
文章平均质量分 63
beginTheWorld
相当于别人读初中的水平我要读大学
展开
-
不用+-实现两个数相加
方法一 用逻辑运算 a^b 表示a+b 中每位不进位的和, (a&b) 思想是 两个数字相加中能分解成 不进位的和 + 每一位相加进位 a+b = a^b +(a&b) 如果a&b==0的时候 a+b=a^b; 负整数运算也可以,因为补码运算,不存在减法。 所以反复迭代,一直到所有的进位为0 long add( long a, long b) { long carry原创 2013-09-06 18:40:12 · 2381 阅读 · 0 评论 -
单链表中通过某一结点指针删除该结点
删除p指向的结点: 思路: 把p的下个结点内容拷贝到p,然后把删除p的下个结点; /* 考虑的情况: 1. p是空 2.p 指向单链表最后一个结点; 3.p 指向单链表的头结点 */ /* input : P,将要删除结点的指针 output : 1(成功),0(失败),-1(失败,但是把结点删除了) 功能: 删除链表中的结点 */ int deleteTheNodeInL原创 2013-08-28 10:26:17 · 1190 阅读 · 0 评论