-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpractica_36.py
70 lines (51 loc) · 1.54 KB
/
practica_36.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
def mostrar_arr(array):
for i, element in enumerate(array):
print(i, ",", element)
def orden_simple(array):
size = len(array)
ord = 0
for i in range(size - 1):
ord = 1
for j in range(size - 1):
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
ord = 0
mostrar_arr(array)
print("------------------")
if ord == 1:
break
def busqueda_lineal(array, valor):
size = len(array)
encontrado = False
for i in range(size):
if array[i] == valor:
print("La posición:", i, "El valor:", array[i])
encontrado = True
if not encontrado:
print("Valor no encontrado")
def busqueda_binaria(array, valor):
inicio = 0
fin = len(array) - 1
while inicio <= fin:
medio = (inicio + fin) // 2
if array[medio] == valor:
return medio + 1
elif array[medio] < valor:
inicio = medio + 1
else:
fin = medio - 1
print("Estoy evaluando entre la posición", inicio, "y la posición", fin)
return -1
def insertar_ord(array, elemento):
size = len(array)
i = size - 1
while i >= 0 and array[i] > elemento:
array[i + 1] = array[i]
i -= 1
array[i + 1] = elemento
# main
array = [0] * 10
for i in range(10):
elemento = int(input())
insertar_ord(array, elemento)
mostrar_arr(array)