1 / 20
文档名称:

经典笔试题.doc

格式:doc   大小:2,144KB   页数:20
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

经典笔试题.doc

上传人:艾米 2022/5/30 文件大小:2.09 MB

下载得到文件列表

经典笔试题.doc

相关文档

文档介绍

文档介绍:经典笔试题

void SelectionSort(int array[], int len)
{
int i = 0;
intd] )
{
high = mid - 1;
}
else if( key > a[mid] )
{
low = mid + 1;
}
}
return ret;
}

void *memcpy(void *dest, const void *src, size_t count)
{
assert(dest != NULL && src != NULL);
char *tmp = (char *)dest;
const char *s = (const char *)src;
while ((count--)>0)
*tmp++ = *s++ ;
return dest;
}

int LCS(const char *str1 , int len1 , const char *str2 , int len2 , char *&lcs)
{
if(NULL == str1 || NULL == str2)
{
return -1;
}
int *c = new int[len2+1];
for(int i = 0 ; i < len2 ; ++i)
{
c[i] = 0;
}
int max_len = 0;
int pos = 0;
for(int i = 0 ; i < len1 ; ++i)
{
for(int j = len2 ; j > 0 ; --j)
{
if(str1[i] == str2[j-1])
{
c[j] = c[j-1] + 1;
if(c[j] > max_len)
{
max_len = c[j];
pos = j-1;
}
}
else
{
c[j] = 0;
}
}
}
if(0 == max_len)
{
return 0;
}
lcs = new char[max_len];
for(int i = 0 ; i < max_len ; ++i)
{
lcs[i] = str2[pos-max_len+1+i];
}
cout<<"pos = "<<pos<<endl;
delete [] c;
return max_len;
}

void array_iterate(int len, int input_array[], int m, int output_array[])
{
bool* flag = new bool[len];
memset(flag,false,len);
int hasout = 0; //已经出列的数字的个数
int pos = 0; //当前元素的下标
int count = 0; //当前已数到的未被标记的数字的个数
while(1)
{
if(false == flag[pos]) //当前元素还没有出列
{
count++;
if(count == m) //已经计数到m,input_array中pos下标的元素出列