#include<stdio.h>

#define MAXNUM 100

typedef int KeyType;
typedef int DataType;
typedef struct {
    KeyType key;      
} RecordNode;

typedef struct {
    int Length;              
    RecordNode r[MAXNUM+1];
} List;

void insertSort(List &L)
{for(int i=2;i<=L.length;i++)
  if(L.r[i].key<L.r[i-1].key)
  { L.r[0]=L.r[i];
    L.r[i]=L.r[i-1]
    for(int j=i-2;L.r[0].key<L.r[j].key;--j)
      L.r[j+1]=L.r[j];
    L.r[j+1]=L.r[0];
  }

}

List vector = {10,
    49, 38, 65, 97, 76, 13, 27, 49, 50};

 main(List &vector){
    int i;
    vector.Length=10;
    insertSort(&vector);
    for(i = 0; i < 10; i++)
        printf("%d ", vector.r[i]);
    getchar();
    return 0;
}