Atps estrura de dados

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (304 palavras )
  • Download(s) : 0
  • Publicado : 22 de novembro de 2011
Ler documento completo
Amostra do texto
Atps - Estrutura De Dados - Blocos
Etapas 3, 4 e 5
Descrição das principais funções
Função CriaLista

A função recebe um ponteiro para TBloco chamado bloco e um int t que é o tamanho dalista. É alocada memória através do malloc. Essa função chama a função CriaListaVazia e depois a função LInsere para inserir na lista o valor cada elemento com a posição em que ele está.//Criação da lista.
void CriaLista(TBloco* bloco, int t)
{
int i ;
bloco->tam = t ; // t corresponde ao tamanho da lista
bloco->lista = (TLista*)malloc(sizeof(TLista)*t); //Alocamemória para a lista com o tamanho t
for ( i =0; ilista[i])); //Cria a lista vazia .
LInsere(&(bloco->lista[i]), i);
}
}
Função FLVazia

A função recebe um ponteiro paraTLista.[1] e aloca na memória. O ponteiro para a ultima posição passa a apontar para o da primeira posição e o da primeira passa a apontar para NULL, para indicar que não há nenhum elemento nalista.

//Inicializa uma lista vazia
void FLVazia(TLista* pLista )
{
pLista->pPrimeiro = (Apontador) malloc ( sizeof (TipoCelula)) ; // Alocação na memória
pLista->pUltimo =pLista->pPrimeiro ; //Faz o ultimo apontar o primeiro
pLista->pPrimeiro->pProx = NULL; //Faz o ponteiro para o proximo apontar para NULL
}

Função MoveAacimaB
A função recebe um ponteiropara o tipo TBloco chamado bloco e dois inteiros (a e b). Comparamos se os blocos procurados não são os mesmos e chamamos a função ProcuraBloco que retorna para pA e pB os ponteiros referentesaos blocos que desejamos movimentar. Verificamos se os blocos não estão na mesma lista, e se estiverem não é feita modificação. Verifica se há algum bloco em cima do que vai ser movimentado, casohaja retornamos os blocos para suas posições originais e o próximo apontar para NULL. Manipulando os ponteiros colocamos o bloco A em cima do bloco B.
//Move o bloco a para cima do bloco b...
tracking img