作者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
1F:→ ufo0972:恩~STL我是没有学过,那我先去在去GOOOLE看看好了~谢谢 10/01 10:58
2F:推 bigpigbigpig:没错,STL 好用到破表 (惊艳!) 10/01 11:45