本文整理汇总了C++中HashTable::getFirPrefix方法的典型用法代码示例。如果您正苦于以下问题:C++ HashTable::getFirPrefix方法的具体用法?C++ HashTable::getFirPrefix怎么用?C++ HashTable::getFirPrefix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HashTable
的用法示例。
在下文中一共展示了HashTable::getFirPrefix方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: code
void MainWindow::code()
{
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QMessageBox::information(this,"Error","Can't open the file!");
return;
}
QTextStream in(&file);
QStringList text;
int i=0;
while(!in.atEnd())
{
if(i==1)
text.append(in.readLine());
else
in.readLine();
i++;
if(i==4)
i=0;
}
//qDebug()<<text;
file.close();
HashTable *hashTable = new HashTable;
unsigned int FirPrefix[1048576];
unsigned int count=0;
for(i=0;i<text.length();i++)
{
for(int j=0;j<65;j++)
{
hashTable->addTable(text[i].mid(j,24));
}
}
/*for(i=0;i<1048576;i++)
{
hashTable->locate(i);
if(hashTable->getFreInRead()!=0)
{
FirPrefix[count]=i;
count++;
}
}
unsigned int countFreInRead[9];
for(i=0;i<9;i++)
countFreInRead[i]=0;
for(unsigned int i=0;i<count;i++)
{
hashTable->locate(FirPrefix[i]);
unsigned short freInRead=hashTable->getFreInRead();
//qDebug()<<freInRead<<endl;
for(int j=10;j<=90;j+=10)
{
if(freInRead<=j&&(freInRead>j-10))
{
countFreInRead[j/10-1]++;
//qDebug()<<"countFreInRead["<<j/10-1<<"]="<<countFreInRead[j/10-1];
}
}
}
for(i=0;i<9;i++)
{
qDebug()<<i*10<<"~"<<(i+1)*10<<" "<<countFreInRead[i]<<endl;
} //研究发现,fre 值在 1~30 之间分布较集中*/
/*qDebug()<<"--------------------------"<<endl;
hashTable->locate(955561);
hashTable->getFirPrefix();*/
for(i=0;i<1048576;i++)
{
hashTable->locate(i);
if(hashTable->getFreInRead()<=30&&hashTable->getFreInRead()>20)
{
FirPrefix[count]=i;
//qDebug()<<FirPrefix[count]<<endl;
count++;
}
}
qDebug()<<"--------------------------------";
QTime t;
t.start();
//.........这里部分代码省略.........