O Ímpar/Par Sorting foi proposto na seletiva de maratona de programação feita pela UnB em 2020.
Considere uma sequência de inteiros 𝑎𝑡={𝑎1,𝑎2,…,𝑎𝑁}, onde 𝑁=2𝑘 para algum 𝑘 inteiro não-negativo. Ímpar/Par Sorting é um algoritmo que ordena a sequência {𝑎𝑡} da seguinte forma:
1 - todos os elementos cujos índices são ímpares são movidos para a primeira metade, mantida a ordem relativa entre eles; 2 - os elementos cujos índices são pares são movidos para segunda metade da sequência, mantida a ordem relativa entre eles; 3 - os passos 1 e 2 são repetidos para as subsequências 𝑏𝑖={𝑏1,𝑏2,…,𝑏𝑁/2}={𝑎1,𝑎3,…,𝑎𝑁−1} e 𝑐𝑗={𝑐1,𝑐2,…,𝑐𝑁/2}={𝑎2,𝑎4,…,𝑎𝑁}, enquanto estas subsequências tiverem dois ou mais elementos.
Abaixo segue as etapas do Ímpar/Par Sorting para 𝑁=8:
Dados os valores de 𝑁 e dos elementos da sequência, ordene-a utilizando o Ímpar/Par Sorting.
- Demais screenshots estão na sessão de Uso
Linguagem: Javascript Framework: Node
É necessário a instalação do Node.
Para clonar e rodar a aplicação, são necessários: Git, Node instalados.
Para rodar o projeto você precisará rodar os seguintes comandos no terminal do seu computador:
cd ~/your/directory/
git clone https://github.com/Jonathan-Oliveira/ImparParSorting.git
cd .ImparParSorting
Em abas separadas do terminal você deverá rodar:
cd ImparParSorting/backend
npm install
npm start
cd ImparParSorting/frontend
npm install
npm start
O servidor poderá ser acessado em http://localhost:3000 enquanto o frontend será acessado em http://localhost:8080
Ao acessar a página inicial, informe a sequência de números que deseja ordenar.
Para ter o resultado dos números ordenados de acordo com o enunciado, clique no botão "Ordenar".
Resultado aparecerá no campo abaixo.
Para ordenar outra sequência de números clique no botão "Limpar" e siga os passos de uso novamente.
Ana Carvalho |
Jonathan Oliveira |
---|