一个大小是10的数组,已经存放有9个数字,且按从小到大排列。现插入一个数,要求从小到大的顺序保持不变,用函数实现
大神,能不能写的完整一点啊
追答#include
#include
void insertSortedArray( int arr[], int insertNum )
{
int i = 0;
int midArr[10] = {0};
memcpy( midArr, arr, sizeof(midArr) );
for ( ; i < 10; i ++ )
{
if ( insertNum < arr[i] )
{
arr[i] = insertNum;
i ++;
break;
}
}
//如果所有数字都比插入的数字小
if ( i == 10 )
{
arr[9] = insertNum;
return;
}
for ( ; i < 10; i ++ )
{
arr[i] = midArr[i-1];
}
}
int main(int argc, _TCHAR* argv[])
{
int i = 0;
int arr[10] = { 1,2,3,4,5,6,7,8,22 };
insertSortedArray( arr, 5 );
for ( ; i < 10; i ++ )
{
printf( "%d ", arr[i] );
}
printf( "\n" );
system( "pause" );
return 0;
}
不对啊
将_TCHAR* 改成 char*