- 博客(3)
- 资源 (8)
- 收藏
- 关注
原创 给定一个字符串,去除整个字符串中重复的字符
该题与我前面的一篇博客判断一个字符串是否是唯一的很相似。可以分两种情况来讨论:1、不许使用额外的存储空间;2、可使用额外的存储空间 s表示待处理的字符串,l表示当前非重复字符的个数 1、不许使用额外的存储空间 对每个待处理的字符,可以考虑在后处理和在前处理 在后处理:对每个待处理的字符,假设为c,从该字符的后一个字符开始,直到字符串的末尾,如果有字符与c相同,就将该位置的字符标记为无效,处
2013-11-27 21:49:43 10164
原创 关于两个对象交换的扩展
前面一节,我讲到了两个对象交换的四种方法,今天,通过调试,来比较下这四种方法的汇编代码,测试环境为vc6.0 temp = a;mov eax, dword ptr[ebp + 8] //ptr[ebp + 8]为a的地址mov ecx, dword ptr[eax] //在ecx中暂存a中的内容mov dword ptr[ebp-4], ecx //ebp-4为c的地址,将a的值赋
2013-11-21 21:25:23 730
原创 关于两个对象的交换
为使问题简单化,设定a、b为整型定义如下: int a; int b; 要求做到将a,b的值互换 方法1:使用中间变量temp int temp; temp = a ; a = b; b = temp; 方法2:不使用中间变量,采用异或的方法a = a^b; b = a^b; a = a^b;方法3:不使用中间变量,使用加减法a = a + b; b = a - b; a = a - b
2013-11-20 22:03:02 713
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人