49

Ordenamiento tipo burbuja mejorado en Visual Basic.NET [49]

En este tutorial vamos a hacer un Ordenamiento tipo burbuja mejorado en Visual Basic.NET pero primero entendamos que es eso del ordenamiento tipo burbuja mejorado.

La mejora que vamos a hacer a nuestro ordenamiento es que si la lista de números ya está ordenada detenemos el ciclo. Para lograr esto colocaremos una bandera en los ciclos para validar que estén o no ordenados.

Con esto evitaremos ciclos innecesarios y le ahorraremos recursos a nuestra máquina o servidor.

Codigo del ordenamiento tipo burbuja mejorado en Visual Basic.NET: https://github.com/programadornovato/VisualBasic/commit/d97e07f365883fca3bc2254485df517ab7b635a4

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Imports System
'Autor: Programador Novato
'Fecha: 01/01/2021
'Este modulo sirve para ense�ar como funciona Visual Basic.NET
Module Program
'Este codigo escribe un texto en amarillo con fondo azul
Public Sub Main(args As String())
Console.WriteLine("humano ingresa un alista de numero separados por coma")
Dim texto = Console.ReadLine()
Dim listaNumerosTexto As String() = texto.Split(",")
Dim cantidad As Integer = listaNumerosTexto.Length
Dim listaNumeros As Integer() = New Integer(cantidad - 1) {}
For i = 0 To cantidad - 1
listaNumeros(i) = Integer.Parse(listaNumerosTexto(i))
Next
Dim tem = 0
Dim bandera = True
Dim cont = 0
For i = 0 To cantidad - 2
If bandera = False Then
Exit For
End If
bandera = False
For j = 0 To cantidad - 2
If (listaNumeros(j) > listaNumeros(j + 1)) Then
bandera = True
tem = listaNumeros(j)
listaNumeros(j) = listaNumeros(j + 1)
listaNumeros(j + 1) = tem
End If
cont = cont + 1
Next
Next
Console.WriteLine("Vueltas=" & cont)
Console.WriteLine("Humano aqui esta tu pinche lista de nuemro ordenada de forma acendente")
For i = 0 To cantidad - 1
Console.WriteLine(listaNumeros(i))
Next
Console.WriteLine("Humano aqui esta tu pinche lista de nuemro ordenada de forma decendente")
For i = cantidad - 1 To 0 Step -1
Console.WriteLine(listaNumeros(i))
Next
Console.Read()
End Sub
End Module
Imports System 'Autor: Programador Novato 'Fecha: 01/01/2021 'Este modulo sirve para ense�ar como funciona Visual Basic.NET Module Program 'Este codigo escribe un texto en amarillo con fondo azul Public Sub Main(args As String()) Console.WriteLine("humano ingresa un alista de numero separados por coma") Dim texto = Console.ReadLine() Dim listaNumerosTexto As String() = texto.Split(",") Dim cantidad As Integer = listaNumerosTexto.Length Dim listaNumeros As Integer() = New Integer(cantidad - 1) {} For i = 0 To cantidad - 1 listaNumeros(i) = Integer.Parse(listaNumerosTexto(i)) Next Dim tem = 0 Dim bandera = True Dim cont = 0 For i = 0 To cantidad - 2 If bandera = False Then Exit For End If bandera = False For j = 0 To cantidad - 2 If (listaNumeros(j) > listaNumeros(j + 1)) Then bandera = True tem = listaNumeros(j) listaNumeros(j) = listaNumeros(j + 1) listaNumeros(j + 1) = tem End If cont = cont + 1 Next Next Console.WriteLine("Vueltas=" & cont) Console.WriteLine("Humano aqui esta tu pinche lista de nuemro ordenada de forma acendente") For i = 0 To cantidad - 1 Console.WriteLine(listaNumeros(i)) Next Console.WriteLine("Humano aqui esta tu pinche lista de nuemro ordenada de forma decendente") For i = cantidad - 1 To 0 Step -1 Console.WriteLine(listaNumeros(i)) Next Console.Read() End Sub End Module
Imports System

'Autor: Programador Novato
'Fecha: 01/01/2021
'Este modulo sirve para ense�ar como funciona Visual Basic.NET
Module Program
    'Este codigo escribe un texto en amarillo con fondo azul
    Public Sub Main(args As String())
        Console.WriteLine("humano ingresa un alista de numero separados por coma")
        Dim texto = Console.ReadLine()
        Dim listaNumerosTexto As String() = texto.Split(",")
        Dim cantidad As Integer = listaNumerosTexto.Length
        Dim listaNumeros As Integer() = New Integer(cantidad - 1) {}
        For i = 0 To cantidad - 1
            listaNumeros(i) = Integer.Parse(listaNumerosTexto(i))
        Next
        Dim tem = 0
        Dim bandera = True
        Dim cont = 0
        For i = 0 To cantidad - 2
            If bandera = False Then
                Exit For
            End If
            bandera = False
            For j = 0 To cantidad - 2
                If (listaNumeros(j) > listaNumeros(j + 1)) Then
                    bandera = True
                    tem = listaNumeros(j)
                    listaNumeros(j) = listaNumeros(j + 1)
                    listaNumeros(j + 1) = tem
                End If
                cont = cont + 1
            Next
        Next
        Console.WriteLine("Vueltas=" & cont)
        Console.WriteLine("Humano aqui esta tu pinche lista de nuemro ordenada de forma acendente")
        For i = 0 To cantidad - 1
            Console.WriteLine(listaNumeros(i))
        Next
        Console.WriteLine("Humano aqui esta tu pinche lista de nuemro ordenada de forma decendente")
        For i = cantidad - 1 To 0 Step -1
            Console.WriteLine(listaNumeros(i))
        Next
        Console.Read()
    End Sub
End Module

Curso de VB.NET⛓️: https://www.youtube.com/watch?v=aiquJHzxNWw&list=PLCTD_CpMeEKSFwAFjvrfpvSwxmbs2maMo&ab_channel=programadornovato
[CURSO] C##️⃣: https://www.youtube.com/watch?v=NKPMGY6NCko&list=PLCTD_CpMeEKQSOU8Vf9VHXrZa2rc8X0X5&index=1&t=3s&ab_channel=programadornovatoprogramadornovato
[CURSO] C# CON FORMULARIOS#️⃣: https://www.youtube.com/watch?v=l0_U4oyOuns&list=PLCTD_CpMeEKTBih1VgeunCjc83ZQ6UBMI&index=1&ab_channel=programadornovatoprogramadornovato
[Curso] C# MYSQL#️⃣: https://www.youtube.com/watch?v=-5CXNXHIzWk&list=PLCTD_CpMeEKR_4q0-7BxGHXqH0bgpqw5q&ab_channel=programadornovato
[CURSO] C++ DE 0 A HEROE 🦸: https://www.youtube.com/watch?v=APN8aCyPvww&list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc&ab_channel=programadornovato
[Curso] Java Netbeans GUI Completo☕: https://www.youtube.com/watch?v=18UA7X2ss8g&list=PLCTD_CpMeEKThfXo8D-RXOGu5FarO7_qv&ab_channel=programadornovato

Anterior tutorial Siguiente tutorial

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *