黑马程序员技术交流社区
标题: 数组的问题,如何去除重复元素和去掉0? [打印本页]
作者: zippo 时间: 2014-7-31 20:51
标题: 数组的问题,如何去除重复元素和去掉0?
本帖最后由 zippo 于 2014-8-2 22:46 编辑
目前有数组” int[] arr = {11,2, 4, 2, 10, 11},定义一个函数清除该数组的重复元素,返回一个没有重复元素而且不能出现0元素的数组。
只能用到数组的知识来做,求大神指点。
作者: 江苏孙浩 时间: 2014-7-31 21:04
先排序;然后转移到新数组里面,当然重复的只转移一次
作者: zippo 时间: 2014-7-31 21:16
但是我要的结果只能是原来的顺序啊,不能排序。
作者: 韩天雷 时间: 2014-7-31 21:20
不能出现0元素 是指原来数组中有0也要去掉吗?
作者: 江苏孙浩 时间: 2014-7-31 21:35
那就先找出重复的,把重复的除了第一个外全部改为0.然后根据数组中非0元素的数目确定新数组的大小。最后把数组中非0元素移动到新数组里面。
作者: chulangren2 时间: 2014-7-31 21:45
我建议先做循环找出重复的去掉,顺便去掉0元素,再排序。
作者: fxwb2005 时间: 2014-7-31 21:47
不能出现0元素的数组是什么意思…… 去重复可以用排序啊,如果不想改变排列顺序,就不交换位置,只是借助排序将每个数相比较,得到重复的数后,把重复那个数设为null就行了,不过数组好像不可以直接从中删除某个数,想实现删除工程,就先用排序找出重复的,把重复的设为null,再用if判断把数组中非null的成员移到另外一个数组中,就可以了……
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |