若一个线性表L采用顺序结构存储,其中所以元素为整数。设计一个算法,将所有小于零的元素移到所有大于零的元素的前面,要求算法

若一个线性表L采用顺序结构存储,其中所以元素为整数。设计一个算法,将所有小于零的元素移到所有大于零的元素的前面,要求算法的时间复杂度为o(n),空间复杂度为1.
冯天翔 1年前 已收到1个回答 举报

norwayismydream 幼苗

共回答了24个问题采纳率:87.5% 举报

void move(SeqList *L)
{
int i, j;
int temp;
for (i = 0, j = L->length -1; i < j; )
{
while (i < j && L->data[i] < 0)
i ++;
while (i < j && L->data[j] > 0)
j --;
if (i < j)
{
temp = L->data[i];
L->data[i] = L->data[j];
L->data[j] = temp;
}
}
}

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 3.032 s. - webmaster@yulucn.com