本文整理汇总了C++中AvlTree::getByLevel方法的典型用法代码示例。如果您正苦于以下问题:C++ AvlTree::getByLevel方法的具体用法?C++ AvlTree::getByLevel怎么用?C++ AvlTree::getByLevel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AvlTree
的用法示例。
在下文中一共展示了AvlTree::getByLevel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gerarArquivosDat
//.........这里部分代码省略.........
//char *palavra = strtok(conteudo," ");
char *palavra = strtok(conteudo," \n.,|`´^~<>:;_-+=()[]\"'/*[email protected]#");
//char *palavra = strtok(conteudo," ,.;:[]{}<>()_-=+\\/[email protected]#$%&*|\"'`´^~");
while(palavra != 0){
Palavra atual(palavra,i-1);
palavras.insert(atual);
//palavra = strtok(0," ");
palavra = strtok(0," \n.,|`´^~<>:;_-+=()[]\"'/*[email protected]#");
//palavra = strtok(conteudo," ,.;:[]{}<>()_-=+\\/[email protected]#$%&*|\"'`´^~");
}
///////////////////////////////////////
//Adiciona o arquivo e seu indice na árvore de indice principal
//"i-1" corresponde a posição que foi salvo o registro do comando em manpages.dat
Indice manPage;
strcpy(manPage.comando,comando);
manPage.posicao = i-1;
indices.insert(manPage);
}
//fecha manPagesDat
fclose(manPagesDat);
printf("Terminou de gerar manpages.dat\n");
///////////////////////////////////
///// TERMINOU A MANPAGES.DAT
///////////////////////////////////
///// COMEÇA A INDICES.DAT
///////////////////////////////////
//A arvore "indices" deve conter todos os indices ordenados em forma de árvore para serem salvos em disco
//Ela é retornada em ordem de nível para ser escrita nessa ordem
int maxSize = indices.getMaxSizeByHeight();
Indice* indicesOrdenados;
indicesOrdenados = indices.getByLevel();
printf("Organizou por nivel");
//Abre ou cria o arquivo indices.dat para escrita
FILE* indicesDat;
indicesDat = fopen("..\\indices.dat","wb");
printf("Abriu e comecou a gerar indices.dat\n");
//percorre cada indice da lista
for(int i=0;i<maxSize;++i){
//coloca os valores que serão passado para o arquivo em "comando"
char comando[100];
for(int c=0;c<comandoTamMax;++c){
comando[c] = indicesOrdenados[i].comando[c];
}
printf("%d - %s\n",(i+1),comando);
//e em "posicao"
int posicao = indicesOrdenados[i].posicao;
//troca os 4 ultimos bytes de comando, guardando a posição.
//*((int*)&a[96]) = 123;
*((int*)&comando[96]) = posicao;
for(int i=0;i<comandoTamMax;++i){
fputc(comando[i],indicesDat);
}
}
delete indicesOrdenados;
//fecha o arquivo indices.dat
fclose(indicesDat);
printf("Terminou de gerar indices.dat\n");