Sunteți pe pagina 1din 82

INSERCIÓN

©® Dr. Alfredo Gutiérrez 1


54 45 75 9 44 72 77

©® Dr. Alfredo Gutiérrez 2


54 45 75 9 44 72 77

©® Dr. Alfredo Gutiérrez 3


54 75 9 44 72 77

45

©® Dr. Alfredo Gutiérrez 4


54 75 9 44 72 77

45

©® Dr. Alfredo Gutiérrez 5


45 54 75 9 44 72 77

©® Dr. Alfredo Gutiérrez 6


45 54 75 44 72 77

©® Dr. Alfredo Gutiérrez 7


45 54 75 44 72 77

©® Dr. Alfredo Gutiérrez 8


9 45 54 75 44 72 77

©® Dr. Alfredo Gutiérrez 9


9 45 54 75 72 77

44

©® Dr. Alfredo Gutiérrez 10


9 45 54 75 72 77

44

©® Dr. Alfredo Gutiérrez 11


9 44 45 54 75 72 77

©® Dr. Alfredo Gutiérrez 12


9 44 45 54 75 77

72

©® Dr. Alfredo Gutiérrez 13


9 44 45 54 75 77

72

©® Dr. Alfredo Gutiérrez 14


9 44 45 54 72 75 77

©® Dr. Alfredo Gutiérrez 15


0 1 2 3 4 5 6
54 45 75 9 44 72 77

función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: i=1
mientras i ≤ ultind
aux = arr[i]
j: j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 16


0 1 2 3 4 5 6
54 45 75 9 44 72 77

función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 17


0 1 2 3 4 5 6
54 45 75 9 44 72 77

función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 18


0 1 2 3 4 5 6
54 45 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 19


0 1 2 3 4 5 6
54 45 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 20


0 1 2 3 4 5 6
54 45 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 21


0 1 2 3 4 5 6
54 54 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 22


0 1 2 3 4 5 6
54 54 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 23


0 1 2 3 4 5 6
54 54 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 24


0 1 2 3 4 5 6
54 54 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 25


0 1 2 3 4 5 6
45 54 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 26


0 1 2 3 4 5 6
45 54 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 2 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 27


0 1 2 3 4 5 6
45 54 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 2 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 28


0 1 2 3 4 5 6
45 54 75 9 44 72 77

75 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 1 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 29


0 1 2 3 4 5 6
45 54 75 9 44 72 77

75 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 2 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 30


0 1 2 3 4 5 6
45 54 75 9 44 72 77

75 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 2 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 31


0 1 2 3 4 5 6
45 54 75 9 44 72 77

75 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 2 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 32


0 1 2 3 4 5 6
45 54 75 9 44 72 77

75 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 33


0 1 2 3 4 5 6
45 54 75 9 44 72 77

45 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 34


0 1 2 3 4 5 6
45 54 75 9 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 35


0 1 2 3 4 5 6
45 54 75 9 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 3 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 36


0 1 2 3 4 5 6
45 54 75 9 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 3 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 37


0 1 2 3 4 5 6
45 54 75 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 3 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 38


0 1 2 3 4 5 6
45 54 75 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 39


0 1 2 3 4 5 6
45 54 75 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 40


0 1 2 3 4 5 6
45 54 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 41


0 1 2 3 4 5 6
45 54 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 42


0 1 2 3 4 5 6
45 54 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 43


0 1 2 3 4 5 6
45 45 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 44


0 1 2 3 4 5 6
45 45 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 45


0 1 2 3 4 5 6
45 45 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 46


0 1 2 3 4 5 6
9 45 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 3 i=1
mientras i ≤ ultind
aux = arr[i]
j: 0 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 47


0 1 2 3 4 5 6
9 45 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 48


0 1 2 3 4 5 6
9 45 54 75 44 72 77

9 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 49


0 1 2 3 4 5 6
9 45 54 75 44 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 50


0 1 2 3 4 5 6
9 45 54 75 44 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 51


0 1 2 3 4 5 6
9 45 54 75 44 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 52


0 1 2 3 4 5 6
9 45 54 75 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 53


0 1 2 3 4 5 6
9 45 54 75 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 3 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 54


0 1 2 3 4 5 6
9 45 54 75 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 3 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 55


0 1 2 3 4 5 6
9 45 54 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 3 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 56


0 1 2 3 4 5 6
9 45 54 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 57


0 1 2 3 4 5 6
9 45 54 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 58


0 1 2 3 4 5 6
9 45 45 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 2 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 59


0 1 2 3 4 5 6
9 45 45 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 60


0 1 2 3 4 5 6
9 45 45 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 61


0 1 2 3 4 5 6
9 45 45 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 62


0 1 2 3 4 5 6
9 44 45 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 4 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 63


0 1 2 3 4 5 6
9 44 45 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 64


0 1 2 3 4 5 6
9 44 45 54 75 72 77

44 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 65


0 1 2 3 4 5 6
9 44 45 54 75 72 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 1 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 66


0 1 2 3 4 5 6
9 44 45 54 75 72 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 5 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 67


0 1 2 3 4 5 6
9 44 45 54 75 72 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 5 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 68


0 1 2 3 4 5 6
9 44 45 54 75 75 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 5 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 69


0 1 2 3 4 5 6
9 44 45 54 75 75 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 70


0 1 2 3 4 5 6
9 44 45 54 75 75 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 71


0 1 2 3 4 5 6
9 44 45 54 75 75 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 72


0 1 2 3 4 5 6
9 44 45 54 72 75 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 5 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 73


0 1 2 3 4 5 6
9 44 45 54 72 75 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 6 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 74


0 1 2 3 4 5 6
9 44 45 54 72 75 77

72 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 6 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 75


0 1 2 3 4 5 6
9 44 45 54 72 75 77

77 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 6 i=1
mientras i ≤ ultind
aux = arr[i]
j: 4 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 76


0 1 2 3 4 5 6
9 44 45 54 72 75 77

77 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 6 i=1
mientras i ≤ ultind
aux = arr[i]
j: 6 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 77


0 1 2 3 4 5 6
9 44 45 54 72 75 77

77 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 6 i=1
mientras i ≤ ultind
aux = arr[i]
j: 6 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 78


0 1 2 3 4 5 6
9 44 45 54 72 75 77

77 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 6 i=1
mientras i ≤ ultind
aux = arr[i]
j: 6 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 79


0 1 2 3 4 5 6
9 44 45 54 72 75 77

77 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 7 i=1
mientras i ≤ ultind
aux = arr[i]
j: 6 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 80


0 1 2 3 4 5 6
9 44 45 54 72 75 77

77 función: inserción
aux: recibe: arr[], ultind
regresa: nada

i: 7 i=1
mientras i ≤ ultind
aux = arr[i]
j: 6 j=i
mientras j > 0 y aux < arr[j - 1]
arr[j] = arr[j – 1]
j=j–1
fin mientras
¿i ≠ j?
Sí: arr[j] = aux
i=i+1
fin mientras

©® Dr. Alfredo Gutiérrez 81


©® Dr. Alfredo Gutiérrez 82

S-ar putea să vă placă și