演算法之字串分割

2022-09-21 07:27:07 字數 1347 閱讀 4599

題目描述如下:

分析:之前做過這樣的一道題,但是寫得太繁瑣,今天重新做了這道題。很明顯的感覺做出來的效率提公升了很多。

這道題的乙個難點是,怎麼樣處理字串長度大於8,截斷後又大於8,又需要截斷的情況。很顯然,這種場景的處理邏輯應該要用到while迴圈。完整的**如下:

1 #include 2

34 #include "

iostream

"5 #include "

string"6

using

namespace

std;

7int

main()817

int temp=input.size();

18for (int i = 0; i < 8 -temp; i++)//

這個操作應該有更好的辦法.注意這裡寫是乙個bug,因為input-size是不斷累加的

1922 cout << input <

2425

return0;

26}27

總結:考察知識點:

1、字串求子串的函式substr()的用法

2、問題理解、然後建模的程式設計能力。比如講問題抽象出while迴圈來處理

之前的乙個寫法,現在的寫法相對來講是比以前的要簡潔不少,主要是對處理邏輯理解的更清晰。可以對照一下:

1 #include "

string.h

"2 #include 3 #include "

iostream"4

using

namespace

std;

5int

main()618

input_string_vector.push_back(input_string);

1920}21

else

if(input_string.size()==8)22

26else

if(input_string.size()>8

)27

3536

if(input_string.size()==8)37

40if(input_string.size()<8)41

47input_string_vector.push_back(input_string);48}

49//

if(input_string.size()==8)

50//

53 }//154

55}5657

58for(int i=0;i)

5962

63return0;

6465 }

mysql分割字串 mysql分割字串

專案有通過一批id去過濾結果的需求,因為這個id是從其他平台拉下來的excel,為了避免加引號逗號的麻煩,在mysql儲存過程裡面拼接。在此做個記錄。很多地方用得上。1.通過某個字元,分割字串的函式。輸入分別為f string 待分割字串 f delimiter 分割字元 f order 取的字串的...

分割字串

string.split char 返回包含此例項中的子字串 由指定 char 陣列的元素分隔 的 string 陣列。由 net compact framework 支援。string.split char,int32 返回包含此例項中的子字串 由指定 char 陣列的元素分隔 的 string ...

分割字串

最近手裡的活用到分割字串,自己嘗試寫了乙個,在網上找到幾個,留著以後備用。char steps char token char strusbinfo 512 memcpy strusbinfo,1e 2f 3g strlen 1e 2f 3g token strtok strusbinfo,step...