数组数据的操作思路求解

[复制链接]
819|5
手机看帖
扫描二维码
随时随地手机跟帖
oufuqiang|  楼主 | 2018-4-8 12:52 | 显示全部楼层 |阅读模式
今日碰到一问题,需要对数组数据进行整理,大致要求如下:
1、数组长度为8,元素数值范围为0-2,其中,初始化时,为4个0,4个1.这个由传感器检测得到,算已知。
2、将第0个元素和第1个元素抽走,标记为2,2就算是空的。
3、将剩下的数据进行整理,将0排在一边,1排在另一边。

麻烦地方:
被抽走的可能是2个0,也可能是2个1,也可能是1个0,1个1。
也就是说,剩下的可能是4个0,2个1,或者3个0,3个1,或者2个0,4个1.
最终要把0放左边,1放右边,2放他们中间。

初始:     {0,1,1,0,0,1,1,0}
抽走前2:{2,2,1,0,0,1,1,0}
最后:     {0,0,0,2,2,1,1,1}

请各位坛友指一下思路,谢谢。
一堆IF的就不要了。少数几个还行

相关帖子

oufuqiang|  楼主 | 2018-4-10 22:38 | 显示全部楼层
自己顶一下,估计板块没选对,都没人。

使用特权

评论回复
dukedz| | 2018-5-21 14:59 | 显示全部楼层
你倒不如說說你最終目的是要解決什麼問題。。。

使用特权

评论回复
oufuqiang|  楼主 | 2018-5-23 20:31 | 显示全部楼层
yyy71cj 发表于 2018-5-22 19:15
这样的问题,你是不是没描述清楚呀???
还一堆IF,按你这样的描述,把0的个数、1的个数、2的个数统计出来 ...

简单的说,数组原来是随机的一堆数据
{x,x,x,x,x,x,x,x},其中x的值为0-1
然后,数组下标为0和1的数据会变为2.也就是数组变成了
{2,2,x,x,x,x,x,x},其中x的值为0-1
要求将随机数x中的1靠左,0靠右,中间放2

不知这样说清楚了没。现有代码比较笨,比较长。

使用特权

评论回复
gnaijnaoul| | 2018-5-23 21:00 | 显示全部楼层
既然都知道中间放2,完全没必要把2放到数组里处理了。6个数据排序完了,把两个2插在中间。

使用特权

评论回复
oufuqiang|  楼主 | 2018-5-24 22:30 | 显示全部楼层
实际上,数组中的每个数值代表了储物格的状态。
数据的变化都伴随着物品的搬运和移动
所以数据移动的过程就是物品移动的过程
他不是纯粹的数据操作
只是抽象为这个模型而已。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

106

主题

1406

帖子

20

粉丝