1.已知线性表LA的数据元素(n个,n为偶数),现要求将LA拆开
成两个新的线性表LB,LC。要求LB中的数据元素为LA中的奇数
位序的数据元素(an,a3,…,am-1),LC中的数据元素为LA中的偶数
位序的数据元素(az,a4,…,an)。
2.已知线性表LA的数据元素(n个),现要求将LA的数据元素复
制到另一个线性表 LB中
3.设有一个线性表采用顺序存储结构,表中的数据元素值为正整数
(n个)。设在O(n)时间内,将线性表分成两为两部分,其中左半部
分每个元素都小于原表的第一个元素,而右半部分则相反。
有没有人能教一下怎么写这数据结构?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 你可以参考下这篇文章:将数组a中的n个整数按相反顺序存放(数值元素倒序排列)
- 除此之外, 这篇博客: 已知长度为n的线性表A采用顺序储存结构,请写出一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法可删除线性表中的所有值为item的数据元素。中的 已知长度为n的线性表A采用顺序储存结构,请写出一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法可删除线性表中的所有值为item的数据元素。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
源代码:#include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR -1 #define MAXSIZE 100 #define OVEERFLOW -2 typedef int Stauts; typedef int ElemType; typedef struct { ElemType *elem; int length; }SqList; Stauts InitList_Sq(SqList &L) { int i; L.elem=new ElemType[10]; if(!L.elem) exit(OVEERFLOW); L.length=10; for(i=0;i<10;i++) L.elem[i]=i; return OK; } Stauts ListDelete(SqList &A,int item) { int i,j; for(j=0;j<A.length;j++) if(A.elem[j]==item) { for(i=j;i<A.length;i++) A.elem[i]=A.elem[i+1]; A.length--; } return OK; } int main() { int i,item; SqList A; InitList_Sq(A); printf("成功构建顺序表\n"); printf("请在表中输入十个元素\n"); for(i=0;i<A.length;i++) { A.elem[i]=i; scanf("%d",&A.elem[i]); printf("%5d",A.elem[i]); } printf("\n"); printf("请输入要删除的数值"); scanf("%d",&item); ListDelete(A,item); printf("操作完成后的数值为:"); for(i=0;i<A.length;i++) printf("%5d",A.elem[i]); printf("\n"); return 0; }
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘