我已经编写了一些代码来从Integer Array中删除重复项.我不想使用任何内置的关键字/属性.
这是我的逻辑:
int[] iArray = {1,2,3,2,3,4,3};
int t = 0;
int arraysize = iArray.Length;
for (int m = 0; m < arraysize; m++)
{
if (iArray[m] != iArray[t])
{
t++;
iArray[t] = iArray[m];
}
}
arraysize = t + 1;
for (int m = 0; m < arraysize; m++)
{
Console.WriteLine(iArray[m]);
}
Run Code Online (Sandbox Code Playgroud)
输出应该是:
1,2,3,4
它没有提供所需的输出.伙计们,这不是主人.这是自学.没有LINQ,请包含关键字.谢谢你的回复.
谢谢.
我确实有这种对象
var j = [{'one':1},{'two':2},{'three':3},{'four':4},{'five':5},{'one':1}];
Run Code Online (Sandbox Code Playgroud)
现在我想跳过重复的记录.有谁能建议我的方式?

我基本上是在处理以下问题,我试图改变插入排序,以便它也可以删除它计数器的重复项。下面是插入排序。
public void insertSort() {
for (int i = 1; i < nElems; i++) {
int temp = a[i];
int j = i;
while (j > 0 && temp <= a[j - 1]) {
a[j] = a[j - 1];
j--;
}
a[j] = temp;
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定我是否正确理解了该方法。如果我理解正确(请告诉我我是否错了),该方法建议我应该在内部 while 循环开始之前遍历整个数组,并使用任意数字(例如 -1)标记任何重复项。然后当内部 while 循环开始时,它将整理数组,所有重复项将在开始时堆叠在一起。
如果是这种情况,那么我可以在插入排序开始之前简单地将数组中的每个元素相互比较,并标记任何重复项 - 1,然后插入排序将处理排序部分。之后我可以减少arraySize。
但是我觉得我没有正确理解它,所以有人可以就此提出任何建议吗?
我正在基于业务逻辑在 RPGLE 程序中加载数组,这可能会导致数组中的数据重复。
我想首先知道如何检测重复。
最后我想知道如何删除数组中的重复项。