看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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