Hung Wen Lin:
請教高手們 我有一數組呈亂數形態 如何挑選出 所有不一樣的數據
比如 a[1,3,5,3,5,7,5,8] 修改成a[1,3,5,7,8]
用HashSet
#include <Generic\HashSet.mqh>
手动写就是做个数组,数字池,遍历一次,不一样就进池,相同就过,输出数字池
int a[] = {1,3,5,3,5,7,5,8};
int uniqueArray[];
for(int i = 0; i < ArraySize(a); i++)
{
if(!ArrayIsExist(uniqueArray, a[i]))
{
ArrayResize(uniqueArray, ArraySize(uniqueArray) + 1);
uniqueArray[ArraySize(uniqueArray) - 1] = a[i];
}
}
for(int i = 0; i < ArraySize(uniqueArray); i++)
{
Print(uniqueArray[i]);
}
Hung Wen Lin:
請教高手們 我有一數組呈亂數形態 如何挑選出 所有不一樣的數據
比如 a[1,3,5,3,5,7,5,8] 修改成a[1,3,5,7,8]
首先设头尾两个指针,然后从头开始比较中间的数。
当中间的数与头部相同,将中间的数与尾部交换,尾指针前移一位。
当中间指针与尾指针相同,头指针进一位,开始比较第二个数。
简单概括就是,有相同的数就交换到尾部,数组长度减一。
請教高手們 我有一數組呈亂數形態 如何挑選出 所有不一樣的數據
比如 a[1,3,5,3,5,7,5,8] 修改成a[1,3,5,7,8]