问题 B: 调整表中元素顺序(线性表)
来源:互联网 发布:python 求指数 编辑:程序博客网 时间:2024/05/18 04:56
问题 B: 调整表中元素顺序(线性表)
时间限制: 1 Sec 内存限制: 2 MB提交: 28 解决: 11
[提交][状态][讨论版]
题目描述
若一个线性表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
提示
1、请选择C++提交
2、注意调整后元素的顺序
3、只需提交调整顺序表元素的算法(move函数)
#include <stdio.h>#include <stdlib.h>#include <algorithm>#define SizeMax 100000using namespace std;typedef int ElemType;typedef struct{ ElemType data[SizeMax]; int length;} SqList;void CreateList(SqList *&L,ElemType n){ if(n>SizeMax)return; L=(SqList*)malloc(sizeof(SqList)); for(int i=0; i<n; i++) scanf("%d",&L->data[i]); L->length=n;}void move(SqList *&L){ int n=L->length,a[10000],m; for(int i=0,j=0,r=0;i<n;i++) { if(L->data[i]<0) { L->data[j]=L->data[i]; j++; } else { a[r]=L->data[i]; r++; } m=j; } for(int i=m,r=0;i<n;i++) { L->data[i]=a[r]; r++; }}void Print(SqList *L){ for(int i=0; i<L->length; i++) printf(i!=L->length-1?"%d ":"%d\n",L->data[i]);}int main(){ SqList *L; ElemType n; scanf("%d",&n); CreateList(L,n); move(L); Print(L); free(L); return 0;}
0 0
- 问题 B: 调整表中元素顺序(线性表)
- Problem B: 调整表中元素顺序(线性表)
- YTU 2987: 调整表中元素顺序(线性表)
- 数据结构—Problem C: 调整表中元素顺序(线性表)
- 调整表中元素顺序
- 线性表 之 数组调整顺序
- 【c++】向顺序线性表中插入元素
- 线性表之顺序表插入元素
- 线性表中插入元素
- 顺序表的应用举例(利用顺序表的基本运算,实现如果在顺序表A中出现的元素,在顺序表B中也出现,则将A中该元素删除)
- 将顺序存储的线性表中所有零元素向表尾集中
- (1)顺序表的操作 ① 输入一组整型元素序列,建立线性表的顺序存储结构。 ② 实现该线性表的遍历。 ③ 在该顺序表中查找某一元素,查找成功显示查找元素,否则显示查找失败。 ④ 在该顺序表中删除或插入指
- 线性表线性(顺序)存储结构
- 在顺序表A中删除B、C中重复的元素
- python线性表顺序存储结构,删除元素
- 线性表(顺序表)
- 顺序线性表(一)
- Problem B: 子序列问题(线性表)
- java_patest甲级真题1001. A+B Format
- 8086汇编寄存器常用指令
- Android中一个轻量级的存储方案(SharedPreferences)
- select option控件的操作方法
- There is no getter for property named 'id' in 'class java.lang.Integer'
- 问题 B: 调整表中元素顺序(线性表)
- java_patest甲级真题1002. A+B for Polynomials
- iOS项目小结
- [收藏]学习sed,看这篇就够了
- 数组与集合 -- 数组
- Android中的内部类引起的内存泄露
- WMI查看远程服务器进程
- Spring AOP 闲谈
- 策略模式