Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25822
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-30 15:29
文章分类

全部博文(11)

文章存档

2015年(11)

我的朋友
最近访客

分类: C/C++

2015-01-30 16:10:13


点击(此处)折叠或打开

  1. //去掉重复字符,该算法不需要字符串移位操作,重复的字符,就前移,
  2. void removeMulChar(char* str)
  3. {
  4.     char* pBegin = str;
  5.     char* pEnd = pBegin+1;
  6.     char* pPos = 0;
  7.     while(*pBegin)
  8.     {
  9.         while(*pEnd)
  10.         {
  11.             bool bEx=false;
  12.             if(*pBegin==*pEnd)
  13.             {
  14.                 bEx=true;
  15.                 char* pTmp = pEnd;
  16.                 while(*pTmp)
  17.                 {
  18.                     *pTmp=*(pTmp+1);
  19.                     pTmp++;
  20.                 }
  21.                 *--pTmp='\0';
  22.             }
  23.             if(!bEx)
  24.                 pEnd++;
  25.         }
  26.         pBegin++;
  27.             pEnd=pBegin+1;
  28.     }
  29.     printf("str:%s\n",str);
  30. }
  31. //去掉重复字符,该算法,需要额外内存
  32. void removeMulChar(char* str)
  33. {
  34.     char buf[512]={
  35.         0
  36.     };
  37.     char* pStr = str;
  38.     char* pBegin = pStr+1;
  39.     buf[0]=*pStr;
  40.     
  41.     while(*pBegin)
  42.     {
  43.         int i=0;
  44.         bool bFlag=true;
  45.         for(;i<strlen(buf);i++)
  46.         {
  47.             if(*pBegin==buf[i])
  48.             {
  49.                 bFlag=false;
  50.             }
  51.         }
  52.         if(bFlag)
  53.             buf[strlen(buf)]=*pBegin;
  54.         pBegin++;
  55.     }
  56.     printf("buf:%s\n",buf);
  57. }
  58. add by jyj--2015-01-30


阅读(604) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:今天冒泡了

给主人留下些什么吧!~~