Atps estrura de dados

304 palavras 2 páginas
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 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; ilista[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

Relacionados

  • ATPS Estrura de Dados
    781 palavras | 4 páginas
  • Atps 1 e 2- modelagem de sistemas
    650 palavras | 3 páginas
  • biosfera
    3089 palavras | 13 páginas
  • ATPS COMPETENCIAS PROFISSIONAIS
    3464 palavras | 14 páginas
  • atps
    4669 palavras | 19 páginas
  • Trabalho de algoritmo programação
    2717 palavras | 11 páginas
  • Pesquisa
    3378 palavras | 14 páginas
  • leitura e texto
    3389 palavras | 14 páginas
  • Obtenção de energia
    8328 palavras | 34 páginas
  • Processos Administrativos
    3732 palavras | 15 páginas