Programa de Selección de género en Kotlin

En este artículo, vamos a aprender cómo implementar una especie de selección en Kotlin ? A continuación, se dará cuenta de lo que es una especie de selección, su algoritmo, programa con la explicación?

En ordenación por selección en primer lugar, nos encontramos con un mínimo o un máximo elemento de la matriz sin clasificar luego se coloca en su posición apropiada en la matriz ordenada. Si seleccionamos el elemento mínimo, entonces tenemos que cambiar con el elemento más a la izquierda o si seleccionamos el máximo elemento entonces tenemos que cambiar con el elemento más a la derecha.

Algoritmo

    SELECTION-SORT(A)
1. for i=n-1 to 0
2. max = i
3. for j = 0 to i
4. if ( A[j] > A[max]
5. max=j
6. swap A[i] with A[max]
7. end

fuente algoritmo de Introducción a los algoritmos 3ª edición por Cormen .

En primera este algoritmo, comprobamos class el elemento de máxima de una matriz no seleccionados y luego intercambiarlo con el último índice de la matriz. Del mismo modo, comprobamos for el segundo elemento de máxima luego se coloca en la segunda posición anterior y así sucesivamente hasta que todo el conjunto se clasifica. Este algoritmo toma un tiempo O (n2), en el peor for. Esto no es case adecuado un gran número de un número n es decir, de elementos.

Programa

fun selection_sort(A:Array<Int>){
var n=A.size
var temp:Int
for(i in n-1 downTo 0){
var max = i
for(j in 0 until i){
if(A[j]>A[max])
max=j
}
if(i!=max){
temp =A[i]
A[i]=A[max]
A[max]=temp
}
}
}
fun main(arg: Array<String>) {
print("Enter no. of elements :")
var n = readLine()!!.toInt()
println("Enter elements : ")
var A = Array(n, { 0 })
for (i in 0 until n)
A[i] = readLine()!!.toInt()
selection_sort(A)
println("Sorted array is : ")
for (i in 0 until n)
print("${A[i]} ")
}

salida

Enter no. of elements :5
Enter elements :
12
32
11
32
43
Sorted array is :
11 12 32 32 43


Deja un comentario

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