Repositório dedicado aos estudos de estrutura de dados em Java e sem framework.
- Fila | Queue.java
- Lista Encadeada | LinkedList.java
- Nó | Node.java
- Vetor | Vector.java
- Pilha | Stack.java
- Fila com Prioridade | QueuePriority.java
- Valores padrão | DefaultValues.java
- Mapeamento de tipos de dados | MapTypes.java
- Utilidades | Utils.java
- Lista Estática | QueueStatic.java
- Pilha Estática | SecondStack.java
- Estrutura Estática | StaticStructure.java
- Lista de Contatos | ListContacts.java
- Empilhar e Desempilhar Números | PushAndPullNumbers.java
- Fila com Prioridade de Pronto Socorro | QueueEmergencyRoom.java
- Fila com Prioridade de Hospital | QueueHospital.java
- Fila de Impressora | QueuePrinter.java
- Testes de Fila | QueueTest.java
- Testes de Lista Encadeada | LinkedListTest.java
- Testes de Vetor | VectorTest.java
- Testes de Pilha | StackTest.java
- Testes de Fila com Prioridade | QueuePriorityTest.java
Implementação de Fila | Queue.java
Métodos:
- addElement(Object): void
- contains(Object): boolean
- eraseAllElements(): boolean
- getAllElements(): Object[]
- getElement(int): Object
- getObjectType(Object): String
- getSize(): int
- isEmpty(): boolean
- removeElement(int): boolean
- searchElement(Object): int
- searchElement(Object[], Object): int
- setAllElements(Object[]): void
- toString(Object): String
Testes Unitários:
- addElementTest(): void
- containsTest(): void
- createQueueTest(): void
- isEmptyTest(): void
- removeElementTest(): void
- searchElementTest(): void
- toStringTest(): void
Implementação de Lista Encadeada | LinkedList.java
Métodos:
- append(Node element): void
- append(T element): void
- append(int position, T element): void
- appendBegin(T element): void
- appendMiddle(int position, T element): void
- getSize(): int
- getLastIndex(): int
- isEmpty(): boolean
- isInvalidPosition( int position): boolean
- clear(): void
- removeFirstElement(): T
- removeLastElement(): T
- removeElement(int position): T
- searchNode(int position): Node
- searchElementByPosition( int position): T
- searchElement(T element): int
- toString(): String
- getClassName(): String
Testes Unitários:
- createEmptyListTest(): void
- createFullListTest(): void
- appendTest(): void
- clearTest(): void
- clearEmptyListTest(): void
- searchElementTest(): void
- searchElementNonExistentTest(): void
- appendBeginTest(): void
- appendMiddleTest(): void
- appendEndTest(): void
- appendOutOfBoundsTest(): void
- removeFirstElementTest(): void
- removeLastElementTest(): void
- removeElementTest(): void
- removeElementOutOfBoundsTest(): void
- removeFirstElementEmptyListTest(): void
- removeEndElementEmptyListTest(): void
- createFullListTest(): void
- createFullListTest(): void
- createFullListTest(): void
Implementação de Nó | Node.java
Métodos:
- getElement(): T
- setElement(T element): void
- getNextElement(): Node
- setNextElement(Node nextObject): void
- toString(): String
- getClassName(): String
Implementação de Mapeamento de tipos de dados | MapTypes.java
Métodos:
- getObjectArrayToString(Object element, String elementType): String
- getPrimitiveArrayToString(Object element, String elementType): String
- getObjectToString(Object element, String elementType): String
- getPrimitiveToString(Object element, String elementType): String
- getElementContentsToString(Object[] objectArray): String
- getElementContentsToString(Object element): String
- getGroup(String typeElement): String
- getObjectType(Object element): String
Implementação de Vetores | Vector.java
Métodos:
- append(int position, T element): void
- append(T element): void
- clear(): void
- contains(int position): boolean
- contains(T element): boolean
- getElements(): T[]
- getEmptyIndexes(): int[]
- getLastIndexOfElement(T element): int
- getSize(): int
- increaseCapacity(): void
- isFoundElement(T element): boolean
- remove(int position): void
- remove(T element): void
- searchByElement(T element): int
- searchByPosition(int position): T
- toString(): String
Testes unitários:
- appendElementsTest(): void
- appendTest(): void
- clearTest(): void
- containsByElementTest(): void
- containsByPositionTest(): void
- createVectorTest(): void
- getEmptyIndexesTest(): void
- increaseCapacityTest(): void
- init(): void
- isFoundElementTest(): void
- lastIndexOfElementTest(): void
- removeByElement(): void
- removeElementByPositionTest(): void
- searchByElementTest(): void
- searchByPositionTest(): void
- toStringTest(): void
Implementação de Pilha | StackTest.java
Métodos:
- append(T element): void
- append(int position, T element): void
- getElement(int index): T
- getSize(): int
- increaseCapacity(): void
- isEmpty(): boolean
- peek(): T
- pull(): T
- push(T element): void
- remove(int position): void
- remove(T element): void
- searchByElement(T element): int
- toString(): String
Testes unitários:
- initEmptyStackTest(): void
- isEmptyTest(): void
- peekTest(): void
- pullTest(): void
Implementação de Lista com Prioridade | QueuePriorityTest.java
Métodos:
- enqueue(T element): void
- compareTo(Patient otherPatient): int
- compareTo(Object object): int
Testes unitários:
- createQueuePriorityTest(): void
- createQueuePriorityAnonymousTest(): void
Documentação técnica gerada a partir das classes e métodos implementados.
Informações gerais sobre o projeto deste repositório de estudos de estruturas de dados.
Informações sobre as tarefas que estão sendo desenvolvidas nesse repositório de estrutura de dados.
Open JDK Oracle Java SE 19
API para gerenciamento de logs.
API para escrita de testes.
- Foto de capa by Clay Banks | Unsplash - Photos for everyone;
- Shields.io | Badges Info from Github
- Alexandre Sanlim | Badges Tech
Caso você queira ajudar a melhorar este repositório, siga as etapas abaixo. Qualquer ajuda é bem-vinda.
- Faça um fork deste repositório (https://github.com/henriqueotogami/data-structure/fork);
- Faça um clone no seu computador desse repositório "forkado" no seu perfil
- Faça um branch com as suas modificações
git checkout -b meu-novo-recurso
; - Faça um commit
git commit -am 'Adicionando um novo recurso ...'
; - Faça um push
git push origin meu-novo-recurso
; - Faça um pull request do seu repositório no meu repositório.
Depois que sua solicitação (pull request) for aceita e adicionada (merged) ao ramo principal (branch main), você pode excluir sua branch tranquilamente.