Chinaunix首页 | 论坛 | 博客
  • 博客访问: 492209
  • 博文数量: 130
  • 博客积分: 2111
  • 博客等级: 大尉
  • 技术积分: 1373
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-28 09:55
个人简介

IT民工

文章分类

全部博文(130)

文章存档

2021年(1)

2019年(1)

2017年(3)

2014年(1)

2013年(3)

2012年(2)

2011年(3)

2010年(2)

2009年(114)

分类: LINUX

2009-09-07 13:07:39

效率和内存
写一个函数fn(),功能是传一个参数是字符串,查找里面有没有相同的字符,有的话返回1,否则0.
两种方法,一是效率最高的,二是最节省内存的.

int fn0(const char *str)
{
        char num[256] = {0};
        unsigned char *pos = (unsigned char *)str;
        while (*pos != 0 && num[*pos] == 0) {
                num[*pos++] = 1;
        }
        return *pos == 0 ? 0 : 1;
}
int fn1(const char *str)
{
        const char *p1, *p2;
        if (*str == 0)
                return 0;
        for (p1 = str; *p1 != 0; p1++) {
                for (p2 = p1 + 1; *p2 != 0; p2++) {
                        if (*p1 == *p2)
                                return 1;
                }
        }
        return 0;
}

好家伙 ,收藏一下
阅读(545) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~