Re: [問題] 有關於字串的問題
看板C_and_CPP (C/C++)作者minazukimaya (水無月真夜)時間16年前 (2009/10/01 10:24)推噓1(1推 0噓 1→)留言2則, 2人參與討論串2/2 (看更多)
※ 引述《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
→
10/01 10:58, , 1F
10/01 10:58, 1F
推
10/01 11:45, , 2F
10/01 11:45, 2F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章