数据结构—Problem C: 调整表中元素顺序(线性表)
2017-03-24 13:01
267 查看
Problem C: 调整表中元素顺序(线性表)
Time Limit: 1 Sec Memory Limit:2 MB
Submit: 198 Solved: 79
[Submit][Status][Web
Board]
Description
若一个线性表L采用顺序存储结构存储,其中所有元素都为整数。设计一个算法,将所有小于0的元素移到所有大于0的元素前面,要求算法的时间复杂度不超过O(nlog(n)),空间复杂度为O(1)。顺序表的定义为:
typedef struct
{
ElemType data[SizeMax];
int length;
} SqList;
需编写的算法为:
void move(SqList *&L);
注意:只需提交你所编写的算法即可
Input
输入的数据有两行,第一行输入线性表的长度n,第二行依次输入n个元素。Output
输出的数据占一行,为调整之后的线性表,每个元素中间用空格分隔。Sample Input
10 -12 25 -19 21 -18 -11 5 -18 9 -22
Sample Output
-12 -19 -18 -11 -18 -22 25 21 5 9#include <iostream> #define SizeMax 100 #include<malloc.h> using namespace std; int a[100]; typedef int ElemType; typedef struct { ElemType data[SizeMax]; int length; } SqList; void InitList(SqList *L) { L->length=0; } void CreatList(SqList *L,ElemType n) { int i; for(i=0;i<n;i++) L->data[i]=a[i]; L->length=n; } bool move(SqList *L) { int i,j=0; SqList *s; s=(SqList *)malloc(sizeof(SqList)); for(i=0;i<L->length;i++) s->data[i]=L->data[i]; s->length=L->length; for(i=0;i<L->length;i++) { if(L->data[i]<0) { L->data[j]=L->data[i]; j++; } } for(i=0;i<s->length;i++) { if(s->data[i]>0) { L->data[j]=s->data[i]; j++; } } return true; } void OutputList(SqList *L) { int i; for(i=0;i<L->length-1;i++) cout<<L->data[i]<<' '; cout<<L->data[L->length-1]; } int main() { SqList L; int n,i; cin>>n; for(i=0;i<n;i++) cin>>a[i]; InitList(&L); CreatList(&L,n); if(move(&L)) OutputList(&L); return 0; }
相关文章推荐
- oj Problem C: 调整表中元素顺序(线性表)
- Problem B: 调整表中元素顺序(线性表)
- 问题 B: 调整表中元素顺序(线性表)
- YTU 2987: 调整表中元素顺序(线性表)
- 数据结构(线性结构习题)Problem C: 下车的顺序
- 数据结构:线性表(顺序存储)顺序栈类(实现创建,输出,入栈出栈,读栈顶元素功能)
- 数据结构 - 线性表之顺序表 (c 语言)
- 数据结构->线性表的顺序实现 ATD
- 数据结构面试题/元素出栈,入栈顺序的合法性
- 数据结构--线性表之顺序表(C语言)
- 数据结构例程——线性表顺序存储的应用
- 对于非负整数0,1,2,....n-1,随机放入一个大小为n的一维数组中,调整元素顺序,辅助空间为O(1)
- 第九章中位数和顺序统计学 之 “寻找第i小元素之最坏情况线性时间的选择 最坏运行时间就为O(n)算法”
- 算法与数据结构--在顺序线性表L中查找第1个值与e满足compare()的元素的为序--算法2.5
- 数据结构(严蔚敏)线性顺序表
- Problem A: 删除区间内的元素(线性表)
- 数据结构中线性顺序表的基本操作(增删改查及合并)
- 【数据结构】对于线性表的顺序和链接两种存储方式的主要优缺点
- 数据结构之线性结构(顺序表和链表的比较)【五】
- 数据结构之线性表的顺序存储