how can change to binary search???

void CCID:: read_text_file_array

{

ID_Lines=0;

RTC_Lines=0;

ifstream composite_id_file("a.txt");

ifstream RTC_file("b.txt");

if composite_id_file.is_open())

while(getline(compostie_id_file,line))

{

++ID_Lines;

}
composite_id_file.close();

if RTC_file.is_open())

while(getline(RTC_file,line))

{

++ID_Lines;

}
RTC_file.close();

}

void CCID::read_text_file
{
ifstream composite_id_file("a.txt");

ifstream RTC_file("b.txt");

id_line=new string [ID_Lines];
RTC_line=new sting{RTC_Lines];
if(composite_id_file.is_open())
{
for(int i=0;i<ID_Lines;i++)
{
getline(composite_id_file,ID_line[i];
}
}
composite_id_file.close();

if(RTC_file.is_open())
{
for(int i=0;i<ID_Lines;i++)
{
getline(RTC_file,ID_line[i];
}
}
RTC_file.close();

}
void CCID::RTC()
{
for (inta=0;a<RTC_Linees;i++)
{
RTC_len=RTC_line[i].length();
for (int a=0;a<RTC_len;a++)
{TRC_t=RTC_line[i][a];
if(strcmp(TRC_t.c_str(),",")==0)
{
for(int b=a;b<RTC_len;b++)
{
RTC_t=RTC_line[i][b];
if(strcmp(TRC_t.c_cst(),")")==0)
{
RTC_key=RTC_line[i].substr(a-1,b-a+1);
RTC_search_ID();
Break;
}
}
}
}
}
}

void CCID::RTC_search_ID()
{
bool cmdstr;
for(in a=0; a<ID_Lines;a++)
{
if(cmdstr=ID_line[a].find(RTC_key.c_str())!=string::npos)
{
len=ID_line[a].length();
for(int i=0;i<len;i++)
{
key=ID_line[a].substr(0,i);
cid=ID_line[a].substr(i+1,len);
len_=key.length();
trim(cid);
for(intj=0;j<len_;j++)
{
t=key[j];
if(strcmp(t.c_str(),",")==0)
{
t=key[j];
if(strcmp(t.c_str(),",")==0)
{
type=key.substr(0,j);
cid_no=key.substr(j+1,len_);
break;
}
}
}
}
}
in this program search very slow,
how can change to binary search???
Topic archived. No new replies allowed.