Algoritmos e Estruturas de Dados Essenciais em C# e Java

Computação4,19 KB

Algoritmos de Ordenação

1. Insertion Sort (Ordenação por Inserção)

public static int[] insertionSort(int[] vetor)
{
    int i, j, atual;
    for (i = 1; i < vetor.length; i++)
    {
        atual = vetor[i];
        j = i;
        while ((j > 0) && (vetor[j - 1] > atual))
        {
            vetor[j] = vetor[j - 1];
            j = j - 1;
        }
        vetor[j] = atual;
    }
    return vetor;
}

2. Ordenação Simples de Vetor

void ordena(int vet[]) {
    int i, j, aux;
    for (i = 0; i < 5; i++) {
        for (j = 0; j < 5; j++) {
            if (vet[i] < vet[j]) {
                aux = vet[i];
                vet[i] = vet[j];
                vet[j] = aux;
            }
        }
    }
}

Classificação de Triângulos

Verificação das condições de existência de um triângulo e classificação em equilátero, isósceles ou escaleno:

class Program 
{
    static void Main(string[] args) 
    {
        int a = 0, b = 0, c = 0;
        Console.WriteLine("Informe o lado 1:");
        a = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Informe o lado 2:");
        b = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Informe o lado 3:");
        c = Convert.ToInt32(Console.ReadLine());

        if (a < b + c && b < a + c && c < a + b)
        {
            if (a == b && b == c)
                Console.WriteLine("Equilátero");
            else if (a == b || b == c || c == a)
                Console.WriteLine("Isósceles");
            else
                Console.WriteLine("Escaleno");
        }
        else
        {
            Console.WriteLine("Não é um triângulo");
        }
        Console.ReadKey();
    }
}

Cálculo de Fatorial

Exemplo de cálculo do fatorial de um número inteiro fornecido pelo usuário:

static void Main(string[] args) {
    int numero;
    Console.WriteLine("Entre com o número que será fatorado:");
    numero = int.Parse(Console.ReadLine());
    int fatorial = numero;
    for (int i = numero - 1; i > 1; i--) {
        fatorial *= i;
    }
    Console.WriteLine("Valor total do fatorial: " + fatorial);
    Console.Read();
}

Conversão de Temperatura

Classe para conversão bidirecional entre escalas termométricas Celsius e Fahrenheit:

class Program {
    static void Main(string[] args) {
        temperatura p = new temperatura(); // Criação do Objeto "p"
        float celsius, faren;
        Console.WriteLine("Digite a temperatura em Celsius:");
        celsius = float.Parse(Console.ReadLine());
        faren = p.cpf(celsius);
        Console.WriteLine("Temperatura em Fahrenheit: " + faren);
        Console.WriteLine("Digite a temperatura em Fahrenheit:");
        faren = float.Parse(Console.ReadLine());
        celsius = p.fpc(faren);
        Console.WriteLine("Temperatura em Celsius: " + celsius);
        Console.ReadKey();
    }
}

class temperatura {
    public float cpf(float t) {
        float f = 9 * t / 5 + 32;
        return f;
    }
    public float fpc(float t) {
        float c = (t - 32) * 5 / 9;
        return c;
    }
}

Verificação de Par ou Ímpar

Algoritmo para determinar a paridade de um número inteiro:

class Program {
    static void Main(string[] args) {
        int x;
        Console.Clear();
        Console.WriteLine("\n\tDigite um número inteiro:");
        x = int.Parse(Console.ReadLine());
        if (x % 2 == 0) {
            Console.WriteLine("\nO número é par");
        } else {
            Console.WriteLine("\nO número é ímpar");
        }
        Console.ReadKey();
    }
}

Preenchimento de Matriz Bidimensional

Exemplo de leitura e preenchimento de uma matriz bidimensional 5x5:

int[,] bingo = new int[5, 5];

for (int i = 0; i < 5; i++)
{
    for (int j = 0; j < 5; j++)
    {
        Console.WriteLine(String.Format("Informe o elemento ({0},{1}):", i, j));
        bingo[i, j] = int.Parse(Console.ReadLine());
    }
}

Baixar

PDF Word HTML