c - 开发一个函数,返回数组中存在的不同值的数量

标签 c arrays function for-loop

我想创建一个函数,它可以返回给定数组中存在的不同值的数量。例如,如果数组是

array[5] = { 1 3 4 1 3},返回值应为3(数组中3个唯一的数字)。

到目前为止我只得到了这个:

int NewFucntion(int values[], int numValues){
for (i=0; i<numValues; i++){

我是一名新编码员/C 语言新手,但我不知道如何继续。任何指导将不胜感激。谢谢

最佳答案

添加 array 中的元素到std::set<T>自从 set不允许重复元素,那么您只能从集合中获取元素数量,从而获得不同元素的数量。

例如:

#include<set>

int NewFucntion(int values[], int numValues){

   std::set<int> set;  

   for(int i=0; i<numValues; i++){
   set.insert(values[i]);
   }

   return set.size();

}

关于c - 开发一个函数,返回数组中存在的不同值的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52575567/

相关文章:

c++ - C 和 C++ 中的标准头文件列表

java - 似乎无法正确反转循环输出

objective-c - 在 Objective-C 中进行函数提取以创建干净的代码有哪些好的策略?

c++ - c++ 函数签名附加关键字是什么?

r - 创建一个函数,通过将索引值作为 r 中的向量来查找列表中的值

c - 在 for 循环中使用结构的问题

java - 在 Windows 上使用 JNA 加载自定义库

c - gtktreeview 在示例中工作正常,但一旦复制到应用程序中就会停止

ios - 希望在 swift 中使用过滤器来过滤结构的内部数组而不接触外部数组

c++ - 动态分配的 C 字符串数组