gpt4 book ai didi

c - 使用 hashmap 从数组中删除重复条目

转载 作者:行者123 更新时间:2023-11-30 18:30:58 25 4
gpt4 key购买 nike

int main(array<System::String ^> ^args)

{

int arr[]={1,2,3,2,9,8,1,2,3,9};
int a[9];
int size = sizeof(arr)/sizeof(arr[0]);
int str[256]= {'\0'};
int i = 0;
for(i ; i < size ; i++)
{
if(str[arr[i]] == 0 )
str[arr[i]]= 1;
}
for( i = 0 ; i < size ; i++)
{
if( str[arr[i]] == 1)
{
a[i] = arr[i];
}
}
for(i=0 ; i < size ; i++)
{
printf("%d->",a[i]);

}


return 0;
}

仍在新数组 a 中,我正在获取旧数据...不确定这里缺少什么...

任何帮助将不胜感激。

提前致谢。

最佳答案

逻辑错误

  • 最终的数组不会到达大小
  • a 的索引错误

只需使用一个循环即可实现这一点,分析如下:

int i = 0,j=0;

for( ; i < size ; i++)
{
if(str[arr[i]] == 0 )
{
str[arr[i]]= 1;
a[j++] = arr[i];
}
}

现在在最终数组 a 上迭代直到 j

关于c - 使用 hashmap 从数组中删除重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27578969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com