Ver Mensaje Individual
  #4  
Antiguo 01-12-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Entiendo... no deseas ordenar un arreglo por el método de inserción, sino ir insertando en órden los ítems a medida que se van agregando al arreglo.

Entonces podes tratarlo así:
Código PHP:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

void insertInOrder( int *, int, int );

int main( )
{
  
int a[] = { 50,2,2,100,5,3,1,7,9 };
  
int b[] = { 4,2,6,10,8 };
  
int i;
  
int asz = sizeof( a ) / sizeof( a[0] );
  
int bsz = sizeof( b ) / sizeof( b[0] );
  
int tot = asz + bsz;

  
// inicializar c
  
int *c = ( int* ) malloc( sizeof(int) * tot );
  for ( 
i = 0; i < tot; i++ ) c[i] = INT_MAX;
  
  
// insertar elementos de a en c
  
for ( i = 0; i < asz; i++ ) insertInOrder( c, tot, a[i] );
  
// insertar elementos de b en c
  
for ( i = 0; i < bsz; i++ ) insertInOrder( c, tot, b[i] );
  
  
// mostrar
  
for ( i = 0; i < tot; i++ ) printf( "%d ", c[i] );

  
free( c );
  
getchar();

  return 
0;
}

// Insertar en órden
void insertInOrder(int *array, int size, int value)
{
  
int i = size - 1;
  while( 
value < array[i] && i >= 0 ) {
    array[
i+1] = array[i];
    
i--;
  }
  array[
i+1] = value;
} 
Salida:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita