/*
Author: Eman Lee
*/
/* 计算机软件基础 教材 P79, ex3 */
#include < stdio.h >
#include < stdlib.h >
int insert( int a[], int arrayLength, int * listLength, int x)
{
int i,j;
if ( * listLength + 1 == arrayLength)
return 0 ; /* fail */
for (i = 0 ;i <* listLength;i ++ )
{
if (a[i] >= x) /* search successfully */
{
for (j =* listLength;j > i;j -- )
a[j] = a[j - 1 ]; /* move */
a[i] = x;
( * listLength) ++ ;
return 1 ; /* success */
}
}
( * listLength) ++ ;
a[i] = x;
return 1 ; /* success */
}
void show( int a[], int listLength)
{
int i;
for (i = 0 ;i < listLength;i ++ )
printf( " %d " ,a[i]);
}
void main()
{
int a1[ 100 ] = { 1 , 3 , 5 , 7 , 9 };
int a2[ 100 ] = { 0 , 2 , 4 , 6 , 8 , 10 };
int listLength = 5 ;
int listLength2 = 6 ;
int i;
for (i = 0 ;i < listLength2;i ++ )
insert(a1, 100 , & listLength,a2[i]);
show(a1,listLength);
getchar();
}
/* 计算机软件基础 教材 P79, ex3 */
#include < stdio.h >
#include < stdlib.h >
int insert( int a[], int arrayLength, int * listLength, int x)
{
int i,j;
if ( * listLength + 1 == arrayLength)
return 0 ; /* fail */
for (i = 0 ;i <* listLength;i ++ )
{
if (a[i] >= x) /* search successfully */
{
for (j =* listLength;j > i;j -- )
a[j] = a[j - 1 ]; /* move */
a[i] = x;
( * listLength) ++ ;
return 1 ; /* success */
}
}
( * listLength) ++ ;
a[i] = x;
return 1 ; /* success */
}
void show( int a[], int listLength)
{
int i;
for (i = 0 ;i < listLength;i ++ )
printf( " %d " ,a[i]);
}
void main()
{
int a1[ 100 ] = { 1 , 3 , 5 , 7 , 9 };
int a2[ 100 ] = { 0 , 2 , 4 , 6 , 8 , 10 };
int listLength = 5 ;
int listLength2 = 6 ;
int i;
for (i = 0 ;i < listLength2;i ++ )
insert(a1, 100 , & listLength,a2[i]);
show(a1,listLength);
getchar();
}