Está en la página 1de 9

1

Universidad Mayor de San Andrés

Area de Informática

Nivel 1

Autores:
Unv. Rolando Troche
Unv. Gabriel Mazuelos
Revisión:
Msc. Aldo Valdéz
Msc. Jorge Terán

La Paz Bolivia - Gestión 2018


Índice general
1. Ordenamiento de Arreglos 1
1.1. Ordenamiento por burbuja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Ordenamiento por inserción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Ordenamiento por selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

i
1
1.1.
Ordenamiento de Arreglos
Ordenamiento por burbuja
El algoritmo de ordenamiento burbuja o bubble sort en inglés, es el algoritmo más fácil de aprender y corto
de programar, trata de comparar cada elemento con el resto de los demás.

1 # include < bits / stdc ++. h >


2
3 using namespace std ;
4 int v [100];
5
6 int main () {
7 int n , x ;
8 cin > > n ;
9 for ( int i = 0; i < n ; i ++) {
10 cin > > v [ i ];
11 }
12 for ( int i = 0; i < n ; i ++) {
13 for ( int j = i + 1; j < n ; j ++) {
14 if ( v [ j ] < v [ i ]) {
15 swap ( v [ i ] , v [ j ]) ; //metodo para intercambiar el
valor de 2 variables
16 }
17 }
18 }
19 for ( int i = 0; i < n ; i ++) {
20 cout < < v [ i ] < < " " ;
21 }
22 cout < < endl ;
23 return 0;
24 }

1.1.1. Ordenamiento por inserción


Imaginemos que hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con
todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos
mayores han sido desplazados una posición a la derecha) o cuando ya no se encuentran elementos (todos los
elementos fueron desplazados y este es el más pequeño). En este punto se inserta el elemento k + 1 debiendo
desplazarse los demás elementos, cuando k = 1 entonces el arreglo esta ordenado.

1 # include < bits / stdc ++. h >


2
3 using namespace std ;
4 int A [100];
5

1
2 Capı́tulo 1 Ordenamiento de Arreglos
6 int main () {
7 int n , x ;
8 cin > > n ;
9 for ( int i = 0; i < n ; i ++) {
10 cin > > A [ i ];
11 }
12 int j , v ;
13 for ( int i = 1; i < n ; i ++) {
14 v = A [ i ];
15 j = i - 1;
16 while ( j >= 0 && A [ j ] > v ) {
17 A [ j + 1] = A [ j ];
18 j - -;
19 }
20
21 A [ j + 1] = v ;
22 }
23
24 for ( int i = 0; i < n ; i ++) {
25 cout < < A [ i ] < < " " ;
26 }
27 cout < < endl ;
28 return 0;
29 }

1.1.2. Ordenamiento por selección


Este algoritmo de ordenamiento selecciona el elemento mas pequeño en el arreglo y lo coloca al principio,
se repite ese proceso obviando los elementos previamente seleccionados.

1 # include < bits / stdc ++. h >


2
3 using namespace std ;
4 int A [100];
5
6 int main () {
7 int n , x ;
8 cin > > n ;
9 for ( int i = 0; i < n ; i ++) {
10 cin > > A [ i ];
11 }
12 int min , aux ;
13 for ( int i =0; i <n -1; i ++) {
14 min = i ;
15 for ( int j = i + 1 ; j < n ; j ++)
16 if ( A [ min ] > A [ j ])
17 min = j ;
18 aux = A [ min ];
19 A [ min ]= A [ i ];
20 A [ i ]= aux ;
21 }
1.1 Ordenamiento por burbuja 3

22
23 for ( int i = 0; i < n ; i ++) {
24 cout < < A [ i ] < < " " ;
25 }
26 cout < < endl ;
27 return 0;
28 }

1.1.3. Ejercicios
Para poner en práctica lo aprendido, siga el siguiente enlace:

Juez Patito Nombre Tipo de problema Enlace


1028 Contando en sort de Inserción Ordenamiento https://jv.umsa.bo/problem.php?id=1028
1058 Ordenando números Ordenamiento https://jv.umsa.bo/problem.php?id=1058

También podría gustarte