比较两个未排序 int 数组的代码。 C

标签 c arrays integer return compare

我需要创建一个代码来比较数组中的两个而不对它们进行排序。它们必须具有相同的长度并且以任意顺序包含相同的元素。

  • a[] 中的每个整数也在 b[] 中
  • b[] 中的每个整数也在 a[] 中
  • 所有这些共同值看起来都完全相同 a[] 和 b[] 中出现的次数

示例:

  • a = {1, 2, 3},b = {2, 3, 4} 返回 0
  • a = {1, 2, 3}; b = {2, 3, 1} 返回 1
  • a = {1, 2, 2}; b = {2, 2, 1} 返回 1
  • a = {1, 2, 2}; b = {2, 1, 1} 返回 0
  • a = {1, 1, 2, 2, 2}; b = {2, 1, 2, 1, 2} 返回 1

我只是不知道该怎么办......

最佳答案

如果数组未排序,您最终将得到二次算法。您可以在算法开始时检查数组长度,如果它们相等,例如 N,您将执行类似的操作

      int result = 1;
          for (int j=0;j<N;j++) {
            bool found = false;
            for (int i=0;i<N && !found;i++) {
              if (a[j] == b[i]) found = true;
            }
            if (!found) return 0;
}

关于比较两个未排序 int 数组的代码。 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28574847/

相关文章:

c - 指向c中变量的低字节地址

c - 如何计算 MB/s 和 MiB/s?

arrays - 确定数组是否包含 Octave 音程中的特定整数

java - 我的二进制到十进制转换器的整数大小限制存在问题,不确定如何正确实现 long

c - 解释 gprof 结果和粒度

c - GCC是否缓存循环变量?

c# - 当它减少和增加时分隔列表中的值

检查指针是否指向给定数组

java - 在Java中解析C风格程序员的整数

ruby - `-' :String 的未定义方法 "100"