ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Quick Short E Inserción Directa


Enviado por   •  11 de Febrero de 2014  •  373 Palabras (2 Páginas)  •  194 Visitas

Página 1 de 2

QuickShort

#include <stdio.h>

void quickSort( int[], int, int);

int partition( int[], int, int);

void main()

{

int a[] = { 9, 6, 4, 3, 8, 10, 7, 2, 5,1};

int i;

printf("\n\nEl arreglo que inserto es: ");

for(i = 0; i < 10; ++i)

printf(" %d ", a[i]);

quickSort( a, 0, 9);

printf("\n\nEl arreglo ordenado es: ");

for(i = 0; i < 10; ++i)

printf(" %d ", a[i]);

}

void quickSort( int a[], int l, int r)

{

int j;

if( l < r )

{

// divide and conquer

j = partition( a, l, r);

quickSort( a, l, j-1);

quickSort( a, j+1, r);

}

}

int partition( int a[], int l, int r) {

int pivot, i, j, t;

pivot = a[l];

i = l; j = r+1;

while( 1)

{

do ++i; while( a[i] <= pivot && i <= r );

do --j; while( a[j] > pivot );

if( i >= j ) break;

t = a[i]; a[i] = a[j]; a[j] = t;

}

t = a[l]; a[l] = a[j]; a[j] = t;

return j;

}

Impresión Pantalla Ejecución:

Inserción Directa

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void InsercionDirecta (int a[], int tam)

{

int i, j, k,val=0,itera=0;

for(i = 1; i < tam; i++)

{

system ("cls");

for(k=0;k<tam;k++)

{

printf(" %d",a[k]);

}

val = a[i]; itera++;

printf(" Valor= %d n Iteracion=%d",val,itera);

getch();

for (j = i - 1; j >= 0 && a[j] > val; j--)

{

a[j + 1] = a[j];

}

a[j + 1] = val;

}

system ("cls");

itera++;

for(k=0;k<tam;k++)

{

printf(" %d",a[k]);

}

val = a[i];

printf(" Valor= %d n Iteracion=%d",val,itera);

getch();

}

int main()

{

int a[10]={9,6,4,3,8,10,7,2,5,1};

int tam=10;

system ("cls");

InsercionDirecta(a,tam);

getch();

}

Impresión Pantalla

...

Descargar como (para miembros actualizados) txt (2 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com