设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正数排在所有负数前面(要求算法复杂度为0(n))。

设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正数排在所有负数前面(要求算法复杂度为0(n))。


相关考题:

对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为()。 A.(n)和(1)B.(n)和(n)C.(n2)和(1)D.(n2)和(n)

设二维数组a[1..m, 1..n] 含有m*n 个整数。 ① 写一个算法判断a中所有元素是否互不相同?输出相关信息(yes/no); ② 试分析算法的时间复杂度。

编写算法,对n个关键字取整数值的记录序列进行整理,以使所有关键字为负值的记录排在关键字为非负值的记录之前,要求: ① 采用顺序存储结构,至多使用一个记录的辅助存储空间; ② 算法的时间复杂度为O(n)。

● 设某算法的计算时间表示为递推关系式T(n)= T(n-1) + n (n0) 及T(0)=1,则该算法的时间复杂度为 (65) 。

设{an}为数列,对于“存在正数肘,对任意正整数n,有的否定(即数列{an}无界)是( )。A、存在正数M,存在正整数n,使得|an|>MB、对任意正数M,存在正整数n,使得|an|>MC、存在正数M,对任意正整数n,有|an|>MD、对任意正数M以及任意正整数n,有|an|>M

设A是由n个非0实数构成的数组,设计一个算法重新排列的数组的数,使得负数都排列在正数的前面,要求算法使用O(n)的时间和O(1)的空间。

设M是一个n行n列的0-1矩阵,每行的1都排在0的前面。 (1)设计一个最坏情况下O(nlogn)时间的算法找到M中含有1最多的行,说明算法的设计思想,估计最坏情况下的时间复杂度。 (2)对上述问题,能否找到一个最坏情况下O(n)时间的算法?

设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正数排在所有负数前面(要求算法复杂度为0(n))。 [题目分析]本题属于排序问题,只是排出正负,不排出大小。可在数组首尾设两个指针i和j,i自小至大搜索到负数停止,j自大至小搜索到正数停止。然后i和j所指数据交换,继续以上过程,直到 i=j为止。

在数组A[0,1,……,n-1]中查找给定值K的算法大致如下: i=n-1; While(i>=0(A[i]!=k)) i--; return i; 该算法的时间复杂度为 () A O(n) B 无法确定 C O(n-i) D O(n-i+1)