本文整理汇总了C++中AvlTree::getSize方法的典型用法代码示例。如果您正苦于以下问题:C++ AvlTree::getSize方法的具体用法?C++ AvlTree::getSize怎么用?C++ AvlTree::getSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AvlTree
的用法示例。
在下文中一共展示了AvlTree::getSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gerarArquivosDat
//.........这里部分代码省略.........
//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");
///////////////////////////////////
///// TERMINOU A INDICES.DAT
///////////////////////////////////
///// COMEÇOU O PALAVRAS.DAT
///////////////////////////////////
FILE* palavrasDat;
palavrasDat = fopen("..\\palavras.dat","wb");
printf("Abriu e comecou a gerar palavras.dat\n");
printf("%d|%d\n",palavras.getSize(),palavras.getMaxSizeByHeight());
//Exclui conectivos da árvore
for(int i=0;i<qtdConectivos;i++){
char conectivo[100];
strcpy(conectivo,conectivos[i]);
palavras.remove(Palavra(conectivo,0));
}
//Gera palavras ordenadas para inserção
Palavra* palavrasOrdenadas = palavras.getByLevel();
printf("Gerou palavras ordenadas");
//Escreve qtd de palavras
maxSize = palavras.getMaxSizeByHeight();
char maxSizeW[4];
*((int*)&maxSizeW[0]) = maxSize;
for(int i=0;i<4;++i){
fputc(maxSizeW[i],palavrasDat);
}
//Escreve palavras seguidas do inicio de local das posicoes,e a qtd de posicoes
//"wait 0 4"
int posicao = 0;
for(int i=0;i<maxSize;++i){
Palavra atual = palavrasOrdenadas[i];
printf("%d - %s\n",i,atual.palavra);
*((int*)&atual.palavra[92]) = posicao;
int qtd = atual.posicoes.size();
*((int*)&atual.palavra[96]) = qtd;
posicao += qtd;
for(int i=0;i<100;++i){
fputc(atual.palavra[i],palavrasDat);
}
}
//Escreve as posicoes das manpages que contem as palavras
char pos[4]; //converter o int para binário
for(int i=0;i<maxSize;++i){
Palavra atual = palavrasOrdenadas[i];
while(!atual.posicoes.empty()){
*((int*)&pos[0]) = atual.posicoes.front();
atual.posicoes.pop_front();
for(int i=0;i<4;++i){
fputc(pos[i],palavrasDat);
}
}
}
fclose(palavrasDat);
printf("Terminou de gerar palavras.dat\n");
///////////////////////////////////
///// TERMINOU A PALAVRAS.DAT
///////////////////////////////////
}