Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em Java - Como inserir nós no início de uma lista singularmente ligada em JavaQuantidade de visualizações: 10551 vezes |
Esta dica mostra como inserir nós no início de uma lista singularmente ligada. A classe usada para representar cada nó é a seguinte (No.java):
// classe No
public class No{
public int valor;
public No proximo;
}
// fim da classe No
Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no início quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código para a lista singularmente ligada (Lista.java):
public class Lista{
No inicio; // início da lista
// método que permite exibir os valores de
// todos os nós da lista
public void exibir(){
if(inicio != null){
do{
System.out.println(inicio.valor);
inicio = inicio.proximo;
}while(inicio != null);
}
else
System.out.println("A lista esta vazia\n\n");
}
// método que permite inserir nós no
// início da lista.
// veja que o método recebe o valor a ser
// armazenado em cada nó
public void inserirInicio(int v){
No novo;
// verifica se a lista está vazia
if(inicio == null){
// reserva memória para o novo nó
inicio = new No();
inicio.valor = v;
// é o primeiro nó...não deve apontar para
// lugar nenhum
inicio.proximo = null;
}
else{ // não está vazia....vamos inserir o nó no início
// vamos criar um novo nó agora
novo = new No();
// atribui o valor do nó
novo.valor = v;
// define o inicio da lista como campo proximo
// do novo nó
novo.proximo = inicio;
// o novo nó é o início da lista agora
inicio = novo;
}
}
}
Compile as classes No.java e Lista.java e vamos escrever um aplicativo de teste (TesteLista.java):
public class TesteLista{
public static void main(String args[]){
// vamos criar uma nova lista
Lista lista = new Lista();
// vamos inserir quatro valores no
// início da lista
lista.inserirInicio(45);
lista.inserirInicio(3);
lista.inserirInicio(98);
lista.inserirInicio(17);
// exibe os valores na lista
lista.exibir();
System.exit(0);
}
}
|
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função concat() que reproduz a funcionalidade da função strcat() da linguagem CQuantidade de visualizações: 11910 vezes |
O C (C99, ANSI C) contém uma função strcat(), no header string.h, que permite concatenar duas strings. Para fins de estudo, segue abaixo o código completo para uma função concat(), que recebe duas strings, anexa a segunda à primeira e retorna um ponteiro para uma string contendo ambas:
// uma função concat
char *concat(char *destino, const char *origem)
{
// um ponteiro para a string de destino
char *original = destino;
// vai para o final da string de destino
while(*original)
original++;
// anexa a string de origem
while(*original++ = *origem++)
;
// retorna o resultado
return destino;
}
Veja como usar no trecho de código abaixo:
#include <stdio.h>
#include <stdlib.h>
// uma função concat
char *concat(char *destino, const char *origem)
{
// um ponteiro para a string de destino
char *original = destino;
// vai para o final da string de destino
while(*original)
original++;
// anexa a string de origem
while(*original++ = *origem++)
;
// retorna o resultado
return destino;
}
int main(int argc, char *argv[])
{
char frase1[100] = "Gosto";
char frase2[20] = " muito de C e Java.";
char *resultado = concat(frase1, frase2);
// exibe o resultado
printf("%s", resultado);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Gosto muito de C e Java. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de C - Um método recursivo que conta de 0 até 10Quantidade de visualizações: 1016 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura:
void contar_recursivamente(int n){
// sua implementação aqui
}
Sua saída deverá ser parecida com: 0 1 2 3 4 5 6 7 8 9 10 Veja a resolução comentada deste exercício usando C console:
#include <stdio.h>
#include <stdlib.h>
// método recursivo que conta de 0 até 10;
void contar_recursivamente(int n){
// vamos exibir o número atual
printf("%d ", n);
// devemos prosseguir com a recursividade?
if(n < 10){
// incrementa o valor de n
n++;
contar_recursivamente(n); // e faz uma nova chamada recursiva
}
}
// método principal do programa
int main(int argc, char *argv[]){
// efetua uma chamada ao método recursivo fornecendo o primeiro valor
contar_recursivamente(0);
printf("\n\n");
system("pause");
return 0;
}
|
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como usar o modificador de acesso public em suas classes PHPQuantidade de visualizações: 7691 vezes |
|
Quando estamos desenvolvendo a lógica de nossas classes PHP, é sempre uma boa idéia definirmos quais propriedades e métodos poderão ser acessados pelas demais classes e partes do código que formam o sistema. Este controle de acesso é feito por modificadores de acesso. Nesta dica veremos como usar o modificador public. O modificador public serve para indicar que as propriedades ou métodos (funções) de uma classe podem ser acessados sem restrições por código fora da classe. Veja um exemplo:
<?
class Pessoa{
public $nome;
}
$pessoa = new Pessoa;
$pessoa->nome = "Osmar J. Silva";
echo $pessoa->nome;
?>
Aqui podemos acessar a propriedade $nome tanto para leitura como escrita sem nenhuma restrição. Tenha em mente que a ausência de um modificador de acesso antes de uma propriedade ou método automaticamente faz com que este acesso seja public. Veja agora um trecho de código no qual definimos um método public (público) em uma classe e o acessamos a partir de um código externo:
<?
class Matematica{
public function somar($a, $b){
return $a + $b;
}
}
$mat = new Matematica;
echo $mat->somar(5, 7);
?>
Lembre-se de que as sub-classes de uma classe que possui propriedades e métodos public herdam toda esta funcionalidade. |
Nossas 20 dicas & truques de programação mais populares |
|
Android Java - Como usar a classe Toast em suas aplicações Android |
Você também poderá gostar das dicas e truques de programação abaixo |
|
C - Como inverter (reverter) o conteúdo de uma string em C usando uma função str_reverse() personalizada |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





