【发布时间】:2013-05-28 14:16:19
【问题描述】:
我有一个随机数数组,例如
6 5 4 4 8
我需要对其进行排序并在之后打印时删除/忽略相同的数字,所以我所做的是我使用 bubble sorth algorithm 对所有内容进行排序并得到类似的结果
4 4 5 6 8
现在为了只打印不同的数字,我写了这个for loop
for(int i=0;i<n;i++){
if(mrst[i]!=mrst[i-1] && mrst[i]>0){
outFile << mrst[i] << " ";
}
}
我的问题是,我拥有的数组在 [0:12] 的间隔内,虽然我第一次调用它时,它会检查数组索引 -1 以查看之前是否有相同的数字,但是它实际上并不存在,但是其中存储的值通常很大,所以有可能存储 4 并且因此不会打印出第一个数字。如果是这样,如何防止它,重写代码使其最优?
【问题讨论】:
-
你不能在数组之前取消引用(不存在的)元素,你正在调用未定义的行为。