20080306:上海华为的一道关于指针的编程题目
2008-03-09 23:18
295 查看
int A[nSize],其中隐藏着若干0,其余为非0整数,写一个函数int Func(int *A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。
这里只需要关心非0整数,下面给一个简单的实现,但把原题目中“返回原数据中的第一个元素为0的下标”改为“返回新数组中的第一个元素为0的下标”。
int FuncA(int *A, int nSize)
{
if (NULL == A || nSize < 0)
return -1;
int count(0); // 非0计数器
for (int i(0); i < nSize; i++) {
if(A[i] != 0) {
//if (i > count)
// A[count] = A[i]
//++count;
A[count++] = A[i];
}
}
memset(A+count, 0, nSize-count);
return count; // could be : count == nSize
}
这里只需要关心非0整数,下面给一个简单的实现,但把原题目中“返回原数据中的第一个元素为0的下标”改为“返回新数组中的第一个元素为0的下标”。
int FuncA(int *A, int nSize)
{
if (NULL == A || nSize < 0)
return -1;
int count(0); // 非0计数器
for (int i(0); i < nSize; i++) {
if(A[i] != 0) {
//if (i > count)
// A[count] = A[i]
//++count;
A[count++] = A[i];
}
}
memset(A+count, 0, nSize-count);
return count; // could be : count == nSize
}
相关文章推荐
- 上海华为的一道关于指针方面的编程题(07年)
- 上海华为的一道关于指针方面的编程题
- 上海华为的一道关于指针方面的编程题,大家来看看
- 上海华为的一道关于指针方面的编程题 int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize)
- 上海华为的一道关于指针方面的编程题
- 一道关于编译和指针的题目
- 一道关于二维数组与指针的题目
- 华为面试题——一道关于指针方面的编程题(C/C++)
- 上海华为的一道关于指针方面的编程题
- 华为面试题——一道关于指针方面的编程题(C/C++)
- 一道关于虚函数指针的题目
- 华为面试题——一道关于指针方面的编程题(C/C++)
- 一道关于二维数组和指针数组的C语言笔试题目
- [C语言]关于指针和int型的一道题目
- 关于指针加减的一道题目
- 好文摘抄 [C语言]关于指针和int型的一道题目
- 一道指针内存题目的三个改法
- 网易2009年校园招聘--一道关于<list>的STL题目
- 关于数组指针的一道面试题
- 关于js字符串替换的一道笔试题目