Atps - estrutura de dados - blocos

1966 palavras 8 páginas
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 da lista. É 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); //Aloca memória para a lista com o tamanho t for ( i =0; i<t; i++) { FLVazia(&(bloco->lista[i])); //Cria a lista vazia . LInsere(&(bloco->lista[i]), i); }
}
Função FLVazia

A função recebe um ponteiro para TLista.[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 na lista.

//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 ponteiro para 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 referentes aos 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, caso haja 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

Relacionados

  • Atps
    346 palavras | 2 páginas
  • ATPS - Estrutura de Dados
    773 palavras | 4 páginas
  • Atps 3° semestre fac 2
    4600 palavras | 19 páginas
  • Atps estrutura de dados
    690 palavras | 3 páginas
  • fffrrvr
    5247 palavras | 21 páginas
  • Teoria da Administração
    539 palavras | 3 páginas
  • Atps estrutura de dados etapa 1 e 2
    413 palavras | 2 páginas
  • Atps analise de investimento
    2766 palavras | 12 páginas
  • ATPS Programa o Estruturada II Primeiro Bimestre
    1132 palavras | 5 páginas
  • ATPS de Programação
    2446 palavras | 10 páginas