删除重复字符串
字符串去重 对于一串字符,其中有重复的字符,那么如何删除,这是一个问题。
老师给出的是C++程序:目的是为了让我们更多的利用字符串处理函数,而不是其它。
#include
#include
using namespace std;
int main()
{
int i,j;
string str = "flskdfjlskdfle.,.;,;,p43h";
for(i=0; i
void quchong(char c[]);
int main()
{
char c[]="flskdfjlskdfle.,.;,;,p43h";
quchong(c);
printf("%s\n",c);//输出删除重复后字母后的字符数组 // for(i=0; i
#include
using namespace std;
string quchong(string str);
int main()
{
string str ="flskdfjlskdfle.,.;,;,p43h";
str = quchong(str);
cout << str << endl;
return 0;
}
string quchong(string str) //因为返回的是局部变量的值,可能会出问题
{
char c[str.length()];
for(int k=0; k_M_length; }
typedef size_t size_type;
#ifndef __SIZE_TYPE__
#define __SIZE_TYPE__ long unsigned int
#endif
#if !(defined (__GNUG__) && defined (size_t))
typedef __SIZE_TYPE__ size_t;
这是直接从警告中找出来的~这样就可以理解为什么会有警告了。
Java对类型检查比较严格~所以没有警告~但感觉不是很好。想想这样~如果中间有中文出现~那么这个程序是不适合的~需要用到比较特殊的散列函数~这样就不一定做得到线性时间了~但还是可以在平方时间内实现。