#include <stdio.h>
#include <stdlib.h>
void print ( int a[ ] , int n)
{
for ( int i = 0 ; i < n; i++ )
printf ( "%d," , a[ i] ) ;
printf ( "\n" ) ;
}
void insert ( int a[ ] , int n)
{
int temp;
int i, j;
for ( i = 1 ; i < n; i++ )
{
temp = a[ i] ;
for ( j = i; j > 0 && temp < a[ j - 1 ] ; j-- )
{
a[ j] = a[ j - 1 ] ;
}
a[ j] = temp;
print ( a, n) ;
}
}
int main ( )
{
int n, data;
scanf ( "%d" , & n) ;
int a[ n] ;
for ( int i = 0 ; i < n; i++ )
{
scanf ( "%d," , & a[ i] ) ;
}
insert ( a, n) ;
return 0 ;
}
易于理解版
#include <stdio.h>
#include <stdlib.h>
void print ( int a[ ] , int n)
{
for ( int i = 0 ; i < n; i++ )
printf ( "%d," , a[ i] ) ;
printf ( "\n" ) ;
}
void insert ( int a[ ] , int n)
{
int i = 1 , j = 0 ;
int temp;
for ( i = 1 ; i < n; i++ )
{
temp = a[ i] ;
for ( j = i; j > 0 && temp < a[ j - 1 ] ; j-- )
{
a[ j] = a[ j - 1 ] ;
}
a[ j] = temp;
print ( a, n) ;
}
}
int main ( )
{
int n, data;
scanf ( "%d" , & n) ;
int a[ n] ;
for ( int i = 0 ; i < n; i++ )
{
scanf ( "%d," , & a[ i] ) ;
}
insert ( a, n) ;
print ( a, n) ;
return 0 ;
}