删除重复字符串,悲哀,该铭记的。

来源:互联网 发布:直播跳舞的软件 编辑:程序博客网 时间:2024/05/29 11:59
#include "string"void del_duplicated(char *s)   {   int n = strlen(s);       if(n<=1)   return;   int i, j;   int last = 1;                   //刚开始认为被处理过的只有s[0]   for(i=1; i<n; i++)              //从下标1开始往后扫描   {   for(j=0; j<last; j++)      {   if(s[i] == s[j])        //将没有比较过的字符依依与s[0...last-1]做比较   break;              //碰到一样的,出现了重复,退出循环   }   if(j==last)                 //出现这种情况说明一直到last-1,都没有s[i]==s[j]   s[last++] = s[i];       //所以s[i]是还没出现过的字符,把它加进来,然后last+1   }   s[last] = 0;                    //最后记得字符串要以0结尾   }     int main(void)   {   char s[] = "hello,word!!";   del_duplicated(s);   printf("%s\n", s);   return 0;   }