社区
数据结构与算法
帖子详情
求一个easy算法,简单调整位置
guogangj
2010-11-24 02:29:49
class CItem
{
BYTE blah[HUGE];
};
CItem data[5];
INT reposition[5] = {4,2,0,3,1};
要求,根据repositon的内容调整dt的内容,如上,把原来下标4的元素调到0,把原来下标2的元素调到1。
写个算法,复杂度为O(n),还要尽量节省空间,因为HUGE可以很大,并且data可能远远不止5个元素。
...全文
150
8
打赏
收藏
求一个easy算法,简单调整位置
class CItem { BYTE blah[HUGE]; }; CItem data[5]; INT reposition[5] = {4,2,0,3,1}; 要求,根据repositon的内容调整dt的内容,如上,把原来下标4的元素调到0,把原来下标2的元素调到1。 写个算法,复杂度为O(n),还要尽量节省空间,因为HUGE可以很大,并且data可能远远不止5个元素。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guogangj
2010-11-27
打赏
举报
回复
我总结了一下,代码贴这里:
http://www.cppblog.com/guogangj/archive/2010/11/27/134843.html
guogangj
2010-11-25
打赏
举报
回复
to asmlearn
你是说递归吗?最好能贴一下代码,不过递归可是需要在程序栈区中复制代码的,递归了太多层的话会导致栈溢出,这也不是一种节省空间的做法。
guogangj
2010-11-25
打赏
举报
回复
呵呵,假如就有这么一道题目,需要节省内存,该怎么做?
一个嵌入式的环境,往往真的不能动态分配出一大块的内存来哦。
donkey301
2010-11-25
打赏
举报
回复
保证下一次的Distination是上一次的Source,这样只要一个临时变量就行了
譬如:
CItem Temp;
Source Distination
0 --> Temp
4 --> 0
1 --> 4
2 --> 1
Temp --> 2
3 --> Temp
...
Temp --> ..
pmars
2010-11-24
打赏
举报
回复
[Quote=引用 3 楼 pmars 的回复:]
开大数组不行么?
CItem array[MAX] ;
for : array[i] = data[reposition[i]] ; //数据类型好像不协调哈!
for : data[i] = array[i] ;
[/Quote]
呵呵,array为CItem类型的啊!
pmars
2010-11-24
打赏
举报
回复
[Quote=引用楼主 guogangj 的回复:]
class CItem
{
BYTE blah[HUGE];
};
CItem data[5];
INT reposition[5] = {4,2,0,3,1};
要求,根据repositon的内容调整dt的内容,如上,把原来下标4的元素调到0,把原来下标2的元素调到1。
写个算法,复杂度为O(n),还要尽量节省空间,因为HUGE可以很大,并且data可能远远不止5个……
[/Quote]
开大数组不行么?
int array[MAX] ;
for : array[i] = data[reposition[i]] ; //数据类型好像不协调哈!
for : data[i] = array[i] ;
donkey301
2010-11-24
打赏
举报
回复
为什么不用指针呢?这样只要交换指针地址就行了,没必要交换内容的。
asmlearn
2010-11-24
打赏
举报
回复
1、写一个交换函数,入口参数为要交换的两个下标索引。
2、依次处理数组每个元素,将当前索引和元素值作为参数传给上一个交换函数。
至于节省空间可能要用到动态分配,不过现在内存芯片动不动就上G,开个大数组也没关系吧。
main.rar_
easy
总结来说,这个“main.rar_
easy
”压缩文件提供了
一个
基于ARM1138的简易循迹小车项目的源代码,用户可以通过理解和修改“main.c”文件中的代码来学习和改进小车的循迹性能。这涉及到嵌入式系统、传感器技术、C语言...
raft-
easy
:
一个
易于使用、可测试的 Java Raft 实现
本文将深入探讨
一个
基于Java实现的Raft库——raft-
easy
,这是一款设计用于简化开发、便于测试的工具。下面我们将详细介绍raft-
easy
的核心特性、工作原理以及如何在实际项目中应用。 1. **Raft一致性
算法
介绍** ...
Easy
MCS Gomoku:五子棋AI-开源
其中,“
Easy
MCS Gomoku”是
一个
开放源代码的五子棋AI项目,它巧妙地融合了蒙特卡洛搜索(Monte Carlo Search)
算法
和Piskvork策略,旨在为玩家提供
简单
易用且智能的对弈体验。 蒙特卡洛搜索
算法
是AI领域的一种...
有效背单词的
一个
简单
算法
(一)——SugarMemo
算法
学习记录
看了著名的Palm上的背单词软件SugarMemo已经把源代码放出了 知道其中采用了国外的那个著名的SuperMemo的早先的
一个
算法
(SM2)来记忆单词. 因为操作非常之
简单
,而且记忆效果也不错, 所以有想法把这个软件移植到PSP上,...
给定数组
求
和等于固定值
算法
_这道
算法
题太太太太太
简单
啦
题目描述给定
一个
包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。说明:你的
算法
应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?题目解析这道题目有三种解法。解法一:...
数据结构与算法
33,027
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章