求乙個高效的重複字串刪除方法。

2025-01-25 23:15:16 字數 2611 閱讀 1501

1樓:火的意志虛化

可以這樣,首先對str1處理,用逗號區分每乙個字串,然後再分析裡面是否有空格,對有空格的字串用無空格的字串處理。

具體如下:str1=fish,big fish,fish flying,angry big flying dog,flying big

第一次用fish處理,得到。

fish,big,flying,angry big flying dog,flying big

第二次用big處理,得到。

fish,big,flying,angry flying dog,flying

第三次用flying處理,得到。

fish,big,flying,angry dog

第四次沒有空格的字串了,結束。

2樓:烏微月

樓上的不具有代表性!

這不是乙個簡單的問題!

如果然我寫我會寫個複雜的方法!

因為沒有環境,所以大體寫下!

string str1="fish,big fish,fish flying,angry big flying dog,flying big";

string strs1=",set set=new hashset();因為set集合存放不重複的元素!

for(int i=0;i=0){/判斷是否包含空格。這個判斷條件可能不對,自己看下。

string strs2=strs1[i].split(" 如果有空格。

for(int j=0;j<;j++)

迴圈放入set中。

else{;這裡忘記了是add還是put,保留「,」

基本上這樣!有問題發站內信!

3樓:網友

不知道這是不是你想要的。

public string del(string str){string tempstr = null;

stringbuffer buffer = new stringbuffer();

arraylist al = new arraylist();

int index=0;

for(int j=0;j<;j++)

if(( j));

index = j+1;

tempstr = new string[for(int k=0;k<;k++)

tempstr[k]=(string) ;

arraylist al1 = new arraylist();

for(int i=0;i<;i++)

if(!for(int m=0;m<;m++)return ;

怎樣刪除每行的重複字串,保留第乙個

4樓:風若遠去何人留

把每個字串存成陣列。

處理新的一行時, 和已有的每個進行比較。 如果有相同的,那麼就不儲存。

否則新增到陣列中。

求助帖,如何在上萬個字串中高效的找出重複串

5樓:網友

使用正規表示式,字串比較,正則的效率是最高的。

用c++編寫乙個程式實現刪除字串中重複的字元,並分別統計,重複的字元個數。

6樓:網友

//之前寫的。

測試通過,如果有疑問,歡迎交流。

思路:用map儲存每個字元出現的次數。

#include

#include

using namespace std;

int main()else

str[cur_next] = '\0';

puts(str);

map::iterator cur_it = char_;

for(;cur_it!=char_;cur_it++)cout

求c++大神解答,刪除字串中重複字母程式 如下

7樓:網友

3全部#include

#include

#include使用c++的string標頭檔案足矣using namespace std;

string delete_repeats(string a, int n) 不需要字串長度引數n, 可以使用或者獲得。

string delete_repeats(string a)}}for (int k = 0; k < n; k++)/*當然也可以用如下方式獲取字串b, 用c表示字串b的有效字元for (int k = 0; k < n; k ++if (a[k] != 0)//有效。

b[c ++= a[k];

b[c] = '\0'; //標記字串結尾*/return b;

int main()

程式設計實現:字串刪除重複字元

8樓:中考試題庫

如果只是找相鄰的重複字元,那麼就挨個跟前乙個字元比較,不相同的就移動到另乙個字串中,相同的就不移動。

如果要求所有字元都沒有重複的,那麼就跟前面的所有字元比較,如果跟前面的都不相同就移動到另乙個字串中,如果相同,那麼就根據要求捨去1個。

判斷字串是否是16進製制數,如何判斷乙個字串是否為16進製制數

十六進製制 hexadecimal 是計算機中資料的一種表示方法,意思是逢十六進一。十六進製制數以16為基數,採用的數碼是0 1 2 3 4 5 6 7 8 9 a b c d e f。其中a f分別表示十進位制數字10 15,也可以用小寫字母a f表示。十六進製制字串與十六進製制數有什麼區別?5 ...

C 如何把字串識別為函式,C 如何把乙個字串識別為函式

include include include int use foo1 1 int n int use foo1 2 int n int use foo2 1 int n,int m int use foo2 2 int n,int m void test1 void 由於 map的value部分...

vb中如何進行字串操作,VB中,怎樣在乙個已知的字串中插入乙個字元?

插入乙個字元 dim a as string,b as stringa iyou b love a left a,1 b right a,3 msgbox a 刪除乙個字元 dim a as string a i love you a left a,4 right a,3 msgbox a midl...