Skip to content

Conteudo efetuado durante a disciplina de Estrutura de Dados e Algoritmos

Notifications You must be signed in to change notification settings

fernandes-natanael/EDA-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Conteudos EDA-1

Alocação dinâmica em c

Bibliotecas stdlib.h: biblioteca padrão que possui funções de alocação de memória,processos, conversões e outras.

  • malloc protótipo:
    void * malloc(size_t size);
  • calloc protótipo:
    void * calloc(size_t number_elements, size_t size);

Malloc 🆚 Calloc

Ambos servem para alocar memória dinamicamente, porém de diferem na forma como são iniciados, pois o malloc ele apenas aloca os blocos de memória e caso haja lixo naquela bloco ele não será apagado. Já o calloc ele inicializa cada bloco de memória igual a 0 de forma padrão.

    const int MAXIMO = 20;
    int *ponteiro = malloc(MAXIMO * sizeof(int));
    //ou
    int *ponteiro = malloc(MAXIMO, sizeof(int));

OBSERVAÇÃO: O uso de type casting, neste caso (int *), não é necessário, porém, pode ser considerado uma boa prática.

  • realloc protótipo:
    void* realloc(void* ptr, size_t size);

Como o próprio nome diz serve para realocar o ponteiro, ou seja, quando a quantidade máxima é atingida, chama-se o realloc para realocar

    int realocacao(lista *l){
        l->dados = realloc(l->dados, 2*l->MAX* sizeof(int)); // dobrando o MAX do ponteiro de inteiros
        if(l->dados == NULL)// verifica se a realocacao falhou
            return 0;
        l->MAX *= 2; // atribui o dobro ao maximo
        return 1; // retorna que a realocacao foi bem sucedida
    }
  • free(), libera a memória alocada

size_t size: quantidades de bytes que será alocado

Notacao Big O

Estruturas de ordenacao

Estuturas de dados FIFO e LIFO

Questões da lista

OBSERVAÇÃO: acabei perdendo algumas questões, pois formatei o computador e esqueci de fazer um backup das questões, então refiz as questões que estavam disponíveis no listão das férias.

Apenas mostrar "Ola Mundo!" na tela

Faixa de consumo(m³) Preço por m³
Até 10m³ franquia cobre
11 a 30m³ R$ 1
31 a 100m³ R$ 2
101 a diante R$ 5

Potenciação - RECURSIVA

Régua Inglesa - RECURSIVA

Soma dígitos - RECURSIVA

Conta 7s - RECURSIVA

Matriz esparca// estudar novamente ;-;

Atalhos e comandos

  • END OF FILE ou EOF ou -1 no linux é ativado com o comando 'CTRL + D' e no windows 'CTRL + Z'
  • gcc --version, para ver a versão do compilador da sua máquina
  • gcc -o arquivo arquivo.c para compilar normalmente
  • -o2 para questões de optimização do próprio compilador, existem outras melhorias que podem ser aplicadas, porém, não sei dizer muito sobre o assunto.
  • Para acrescentar a biblioteca math.h na compila, deve acrescentar -lm

About

Conteudo efetuado durante a disciplina de Estrutura de Dados e Algoritmos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages