- #include<math.h> 
- #include<ctype.h> 
- #include<dos.h> 
- #include<conio.h> 
- #include<stdio.h> 
- #include<stdlib.h> 
- #include<time.h> 
-   
- enum boolean{false,true}; 
- struct { 
-      boolean flag; 
-      int k; 
-      } D[5000]; 
- void main() 
-   { 
-     clrscr(); 
-      clock_t start,end; 
-      char flag; 
-      int x,aux,j,n; 
-      textcolor(11); 
-      printf("\n\t\t\tMETODO DE INSERCION\n"); 
-      printf("\n\n\t\tNUMERO DE ELEMENTOS A ORDENAR: "); 
-      scanf("%d",&n); 
-      randomize(); 
-      printf("\n\n\t\t\t*** VECTOR DESORDENADO ***\n\n"); 
-      for(int l=1;l<=n;l++) 
-      { 
-   x=random(9999); 
-   D[l].k=x; 
-   printf("\t\t\t      D[%d]= %d\n",l,D[l].k); 
-       if(j==22){ 
-        j=0; 
-       } 
-      j++; 
-     } 
-     getch(); 
-   
-     {for(int i=1;i<=n;i++) 
-      { 
-        start=clock(); 
-        D[aux]=D[i]; 
-        j=j-1; 
-        flag=false; 
-      } 
-      /* 
-   Primeros errores: 
-   1. j para que te sirve? 
-   2. tomas el tiempo cada ke da una vuelta, quiero entender 
-      que quieres saber cu nto tarda ordenar los elementos 
-      deber¡a de ir cuando inicias a ordenar... 
-   3. Aux no inicia en cero ya que es una variable local, si fuera global 
-        tendría valor de cero 
-   4. Aux no la mueves y D[aux] es una posici¢n que ira  tomando 
-      los valores de D[i] pero nunca se afectara, es decir 
-      Este ciclo es inservible... 
-      */ 
-      do 
-      {if (D[aux].k<D[j].k) 
-   { 
-    D[j+1]=D[j]; 
-    j=j-1; 
-   } 
-   else 
-    flag=true; 
-   }while (j==0||flag==true); 
-   
-    D[j+1]=D[aux]; 
-   
-        } 
-        /* 
-        Por todo lo anterior D[aux].k nunca va a ser menor ke 
-        D[j].k por lo tanto flag siempre tomar  true, y nunca 
-        saldr  del ciclo 
-        */ 
-   
-        clrscr(); 
-        printf("\n\n\n\t\t\t *** VECTOR ORDENADO ***\n\n"); 
-        int p=0; 
-   for (int i=1;i<=n;i++) 
-     { 
-      printf("\t\t\t\tD[%d]= %d\n",i,D[i].k); 
-        if(p==22) 
-          { 
-         p=0; 
-          } 
-       p=p+1; 
-     } 
-   end=clock(); 
-   printf("\n\n\t\t\tEl tiempo es:%f",(end-start)/CLK_TCK); 
-   getch(); 
-      /* 
-     Esto no es C++, es 'C ANSI' 
-        */ 
-   } 
-   
- /* 
-    ALGORITMO INSERCION DIRECTA 
-   
-    //Antes de llamar a esta funci¢n tomas el tiempo 
-    // y luego despues de llamarla. Haces la resta y listo 
-    void insercion_directa(int a[],int n) 
-    { 
-      cout<<"Inserción directa"<<endl<<endl; 
-      int i,aux,k; 
-      for (i=1;i<n;i++) 
-       { aux=a[i]; 
-       for(k=i-1;(k>=0)&&(aux<a[k]);k--) 
-           a[k+1]=a[k]; 
-       a[k+1]=aux; 
-       } 
-   
-    } 
-   
- */ 
-