Ajuda, preciso de algoritmo para add/remover elementos de um vetor (listas encadeadas) em shell

1. Ajuda, preciso de algoritmo para add/remover elementos de um vetor (listas encadeadas) em shell

Mestre Kame
mlgrassi

(usa Debian)

Enviado em 15/02/2017 - 12:46h

Prezados,
Alguém teria um algoritmo escrito em shell onde seja possível adicionar e remover elementos de um vetor populado?


  


2. Re: Ajuda, preciso de algoritmo para add/remover elementos de um vetor (listas encadeadas) em shell

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/02/2017 - 12:52h

No título você fala em listas encadeadas, mas no corpo da mensagem fala em vetor.

Qual é a estrutura de dados, afinal? Vetor puro e simples (cada elemento contém diretamente o dado final associado àquela posição do vetor), ou lista encadada usando vetor como back-end (cada elemento do vetor contém um índice do próximo elemento, mais um dado associado), ou ainda alguma outra coisa?

É preciso saber isso, porque os algoritmos serão diferentes em cada caso.


3. Re: Ajuda, preciso de algoritmo para add/remover elementos de um vetor (listas encadeadas) em shell

Mestre Kame
mlgrassi

(usa Debian)

Enviado em 15/02/2017 - 12:56h

Ok, na realidade seria um VETOR mesmo.


4. Re: Ajuda, preciso de algoritmo para add/remover elementos de um vetor (listas encadeadas) em shell

Renan Arantes
R3nan

(usa Debian)

Enviado em 15/02/2017 - 14:08h

veja se ajuda, salve o script de permissão de execução

#!/bin/bash

#define vetor populado e mostra na tela
vetor=('a' 'b' 'c' 'd')
echo ${vetor[*]}

#adiciona elemento no vetor e mostra na tela
vetor+=('e')
echo ${vetor[*]}

#remove elemento do vetor e mostra na tela
delete=('c')
echo ${vetor[*]/$delete}




5. Re: Ajuda, preciso de algoritmo para add/remover elementos de um vetor (listas encadeadas) em shell

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/02/2017 - 18:29h

Sendo arrays, não existe segredo: será a mesma coisa que em qualquer outra linguagem (com a única possível diferença de que em muitas o número de elementos do arrays é fixo, ao passo que o Bash permite estender seus arrays dinamicamente).

Se você quiser inserir elementos ao final do array, pode usar a sintaxe “array+=(valor ...)”. Para inserir elementos no início ou no meio de um array, você terá de adicionar um novo elemento no final do array, e mover todos os elementos após o ponto de inserção uma posição para frente (começando do penúltimo e retrocedendo até a posição de inserção).

Para apagar um elemento em qualquer posição n, basta executar o comando “unset array[n]”.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts