调整表中元素顺序(线性表)
时间: 1ms 内存:2M
描述:
若一个线性表L采用顺序存储结构存储,其中所有元素都为整数。设计一个算法,将所有小于0的元素移到所有大于0的元素前面,要求算法的时间复杂度不超过O(nlog(n)),空间复杂度为O(1)。
顺序表的定义为:
typedef struct{ElemType data[SizeMax];int length;} SqList;需编写的算法为:void move(SqList *&L);注意:只需提交你所编写的算法即可
输入:
输入的数据有两行,第一行输入线性表的长度n,第二行依次输入n个元素。
输出:
输出的数据占一行,为调整之后的线性表,每个元素中间用空格分隔。
示例输入:
10
-12 25 -19 21 -18 -11 5 -18 9 -22
示例输出:
-12 -19 -18 -11 -18 -22 25 21 5 9
提示:
参考答案:
解锁文章
文章评论