Sunteți pe pagina 1din 8

UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA CIVIL

INFORME DE LENGUAJE C++ Pgina 1



ORDENAMIENTO

El ordenamiento es una labor comn que realizamos cotidianamente, es un proceso tan
comn en nuestras vidas que no nos detenemos a meditar mucho en ello. Ordenar es
meramente colocar informacin de una manera especial basndonos en un criterio de
ordenamiento. En la ciencia de la computacin el ordenamiento de datos tambin cumple
un rol muy importante, ya sea como un fin en s o como parte de otros procedimientos
ms complejos. Se han desarrollado muchas tcnicas en este mbito, cada una con
caractersticas especficas, y con ventajas y desventajas sobre las dems. El propsito
principal de un ordenamiento es el de facilitar la bsqueda de informacin.
El ordenar un grupo de datos significa mover los datos o sus referencias para que queden
en una secuencia tal que represente un orden, el cual puede ser numrico, alfabtico o
incluso alfanumrico, ascendente o descendente.


ORDENAMIENTO INTERNO.

Se lleva a cabo completamente en memoria principal. Todos los
objetos que se ordenan caben en la memoria principal de la
computadora

ORDENAMIENTO EXTERNO.

No cabe toda la informacin en memoria principal y es necesario
ocupar memoria secundaria. El ordenamiento ocurre
transfiriendo bloques de informacin a memoria principal en
donde se ordena el bloque y este es regresado, ya ordenado, a
memoria secundaria

ORDENAMIENTO DE BURBUJA

La Ordenacin de burbuja (Bubble Sort en ingls) es un sencillo algoritmo de
ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el
siguiente, intercambindolos de posicin si estn en el orden equivocado. Es necesario
revisar varias veces toda la lista hasta que no se necesiten ms intercambios, lo cual
significa que la lista est ordenada. Este algoritmo obtiene su nombre de la forma con la
que suben por la lista los elementos durante los intercambios, como si fueran pequeas
"burbujas". Tambin es conocido como el mtodo del intercambio directo. Dado que solo
usa comparaciones para operar elementos, se lo considera un algoritmo de comparacin,
siendo el ms sencillo de implementar.



UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA CIVIL

INFORME DE LENGUAJE C++ Pgina 2






ORDENAMIENTO SHELL

El ordenamiento Shell (Shell sort en ingls) es un algoritmo de ordenamiento. El mtodo se
denomina Shellen honor de su inventor Donald Shell. Su implementacin original, requiere O(n
2
)
comparaciones e intercambios en el peor caso. Un cambio menor presentado en el libro de V. Pratt
produce una implementacin con un rendimiento de O(n log
2
n) en el peor caso. Esto es mejor que
las O(n
2
) comparaciones requeridas por algoritmos simples pero peor que el ptimo O(n log n). Aunque
es fcil desarrollar un sentido intuitivo de cmo funciona este algoritmo, es muy difcil analizar su
tiempo de ejecucin. El algoritmo Shell sort mejora el ordenamiento por insercin comparando
elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos
ms grandes" hacia su posicin esperada. Los pasos mltiples sobre los datos se hacen con tamaos de
espacio cada vez ms pequeos. El ltimo paso del Shell sort es un simple ordenamiento por insercin,
pero para entonces, ya est garantizado que los datos del vector estn casi ordenados.

ORDENAMIENTO POR INSERCION

El ordenamiento por insercin (insertion sort en ingls) es una manera muy natural de ordenar para
un ser humano, y puede usarse fcilmente para ordenar un mazo de cartas numeradas en forma
arbitraria. Requiere O(n) operaciones para ordenar una lista de n elementos.
Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Despus, cuando
hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los
elementos ya ordenados, detenindose cuando se encuentra un elemento menor (todos los elementos
mayores han sido desplazados una posicin a la derecha) o cuando ya no se encuentran elementos
(todos los elementos fueron desplazados y este es el ms pequeo). En este punto se inserta el
elemento k+1 debiendo desplazarse los dems elementos.

ORDENAMIENTO POR SELECCION

El ordenamiento por seleccin (Selection Sort en ingls) es un algoritmo de
ordenamiento que requiere O operaciones para ordenar una lista de n elementos.
Su funcionamiento es el siguiente:

Buscar el mnimo elemento de la lista
Intercambiarlo con el primero
Buscar el mnimo en el resto de la lista
Intercambiarlo con el segundo
Y en general:
Buscar el mnimo elemento entre una posicin i y el final de la lista
Intercambiar el mnimo con el elemento de la posicin i
De esta manera se puede escribir el siguiente pseudocdigo para ordenar una lista
de n elementos indexados desde el 1:
UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA CIVIL

INFORME DE LENGUAJE C++ Pgina 3


PROGRAMACIN EN C++

BURBUJA

#include <stdio.h>
#include <conio.h>
main()
{
int d,a,b,i,j,tmp,num,c['n'];
clrscr();
printf("ingresa numero de campos: ");
scanf("%d",&a);
clrscr();
for(b=0;b<a;b++){
gotoxy(24,b+1);printf("INGRESAR VALORES A PROMEDIAR [%d]: ",b);
scanf("%d",&c[b]);
}
clrscr();


for(b=0;b<a;b++){
gotoxy(24,b+1);printf("VALORES DESORDENADOS [%d]: %d ",b,c[b]);
}
d=b+3;
//burbuja
for(i=0; i<a; i++){
for(j=a-1; j>i; j=j-1)
{
if (c[j] < c[j-1]){
tmp = c[j];
c[j] = c[j-1];
c[j-1] = tmp;
}
}
}


//numeros ordenados
for(b=0;b<a;b++){
gotoxy(24,d+1);printf("VALORES ORDENADOS [%d]: %d ",b,c[b]);
d++;
}
getch();
return (0);
}


UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA CIVIL

INFORME DE LENGUAJE C++ Pgina 4




SHELL

#include<stdio.h>
#include<conio.h>
int a[5];
int n=5;
void main()
{
int inter=(n/2),i=0,j=0,k=0,aux;
clrscr();
for (i=0; i<5; i++)
{
printf("INSERTA UN VALOR DEL INDICE %d", i);
scanf("%d",& a);
}
while(inter>0){
for(i=inter;i<n;i++)
{
j=i-inter;
while(j>=0) {
k=j+inter;
if(a[j]<=a[k]){
j--;
}
else{
aux=a[j];
a[j]=a[k];
a[k]=aux;
j=j-inter;
}
}
}
inter=inter/2;
}
for(i=0;i<5;i++)
{
printf("%d n",a);
getch();
}
}







UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA CIVIL

INFORME DE LENGUAJE C++ Pgina 5





INSERCCIN

#include<conio.h>
#include<stdio.h>
int num[100000],n;
void insercion()
{
int tem;
for (int q=1;q<n;q++)
{
tem=num[q];
for (int j=q;j>0 && tem<num[j-1];j--)
{
num[j]=num[j-1];
num[j-1]=tem;
}
}
}
void imprimir()
{
for (int h=0;h<n;h++)
{
printf("\t%d",num[h]);
}
}
main()
{
printf("cant. de numeros: ");
scanf("%d",&n);
for (int y=0;y<n;y++)
{
printf("valor %d: ",y+1);
scanf("%d",&num[y]);
}
printf("\norden ingresados:\n\n");
imprimir();
insercion();
printf("\n\nmetodo de insercion:\n\n");
imprimir();
getch();
}






UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA CIVIL

INFORME DE LENGUAJE C++ Pgina 6





SELECCIN


#include<stdio.h>
#include<conio.h>
int v[100000],n;
void num_ordenados()
{
int valor_temporal;
for (int q=0;q<n-1;q++)/*declaramos dos ciclos para poder ir comparando 0-1,1-2,2-3,...hasta n.
*/
{
for (int w=q+1;w<n;w++)
{
if (v[w]<v[q])
{
valor_temporal=v[w];/*se asigna el valor encontrado*/
v[w]=v[q];/*ahora el valor de v[q] toma el de v[w] para poder compararlo de nuevo con el
siguiente numero*/
v[q]=valor_temporal;
}
}
}
}
void orden()/*para poder imprimirlos en orden*/
{
UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA CIVIL

INFORME DE LENGUAJE C++ Pgina 7
for (int t=0;t<n;t++)
{
printf("\t%d\n",v[t]);


}
}
main()
{
printf("cant. de numeros: ");
scanf("%d",&n);
for (int i=0; i<=n-1;i++)
{
printf("\ningrse numero %d: ",i+1);
scanf("%d",&v[i]);
}
printf("\norden en el que fueron ingresado:\n\n");
orden();/*llamamos nuetra operacion para imprimirlo con el orden en el que fueron ingresados*/
num_ordenados();/*luego ya con el metoo de seleccion*/
printf("\n");
printf("\nmetodo de seleccion:\n\n");
orden();
}
UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA CIVIL

INFORME DE LENGUAJE C++ Pgina 8
UNIVERSIDAD NACIONAL DE PIURA
Facultad De Ingeniera De Civil
Escuela Profesional De Ingeniera De Civil


TEMA: TIPOS DE ORDENAMIENTOS Y CODIFICACIN

CURSO: LENGUAJE C++

PROFESOR: Ing . CHERRE LIZAMA LUIS

ALUMNO: ROA PAIBA HARVEY VICTOR JOEL


CICLO: III

SECHURA-PIURA.PER
2014

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