作者minazukimaya (水無月真夜)
看板C_and_CPP
標題Re: [問題] 有關於字串的問題
時間Thu Oct 1 10:24:55 2009
※ 引述《ufo0972 ()》之銘言:
: 想請問大家有關於字串的問題,
: 就是宣告一個array,然後在裡面在不同的字串,例如data[3]={"amy","kobe","jerry"};
: 把這些字串弄好後取出各個字母的第一個字去陣列排序,然後做binary search,
: 現在問題來了,我是用char*data[]去儲存多個字串,可是我不知道怎麼取第一個字,
: 請各位大大可以告訴我要使用什麼方法才可以取出來嗎?謝謝大家!~
: 另外我知道string可以取出字元,可是要怎麼排序我就不知道了~
: #include<iostream>
: #include<string>
: using namespace std;
: void main()
: {
: string str1("amy");
: string str2("bob");
: string str3("katy");
: char data[]={str1[0],str2[0],str3[0]};
你這樣只有存三個字元下來
char[3] data裡面的內容是"abk"...
: for(int i=0;i<3;i++)
: for(int j=0;j<2-i;j++){
: if(data[j]>data[j+1]) swap(data[j],data[j+1]);}
: }
: }
: 再來我就不知道要如何進行了,因為無法排陣列,請大家給點意見,謝謝!
既然都要用std::string了
當然是用std::vector搭配std::sort
binary search也有std::lower_bound、std::upper_bound、std::equal_range
std::vector<string> data;
data.push_back(string("amy"));
data.push_back(string("bob"));
data.push_back(string("katy"));
std::sort(data.begin(), data.end());
大概是這樣的用法..
如果沒用過STL,Google一下就有很多reference
不然找本書來看也可以..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.15.163
→ ufo0972:恩~STL我是沒有學過,那我先去在去GOOOLE看看好了~謝謝 10/01 10:58
推 bigpigbigpig:沒錯,STL 好用到破表 (驚豔!) 10/01 11:45