判断两个数组中是否有相同的元素,有就输出“有”,没有就输出“没有”

本文介绍了一个简单的C语言程序,用于比较两个数组中是否存在相同的元素。通过双重循环遍历两个数组,当发现相等的元素时,计数器增加并提前终止循环。
//建立两个数组,让第一个数组的内容以此与第二个数组的内容比较。
#include<stdio.h>
int main()
{
        int arr1[]={1,2,3,4,5,6,7,8};
        int arr2[]={9,10,11,26};
        int count = 0;
        int i;
        for(i=0; i < sizeof(arr1)/sizeof(arr1[0]); i++)
        {
                int j;
                for(j=0; j<sizeof(arr2)/sizeof(arr2[0]); j++)
                {
                        if(arr1[i] == arr2[j])
                        {
                                count ++;
                                break;
                        }
                }
                if (count != 0)
                        break;
        }
        if(count != 0)
                printf("Have\n");
        else
                printf("No Have\n");
        return 0;
}

 

### 在 JavaScript 中比较两个数组并返回相同元素 在 JavaScript 中,可以通过多种方法比较两个数组并提取它们的相同元素。以下是一种常见的实现方式:使用 `filter()` `includes()` 方法组合来筛选出交集部分。 ```javascript const array1 = [1, 2, 3, 4, 5]; const array2 = [3, 4, 5, 6, 7]; const commonElements = array1.filter(item => array2.includes(item)); console.log(commonElements); // 输出: [3, 4, 5] ``` 此方法利用了 `filter()` 遍历第一个数组,并通过 `includes()` 判断当前元素是否存在于第二个数组中,从而得到相同元素的集合。 JavaScript 中的所有事物都是对象,包括数组[^3],因此操作数组时可以灵活地使用内置方法或自定义逻辑进行处理。 --- ### 在 Python 中比较两个数组并返回相同元素 Python 中虽然没有原生的“数组”类型,但通常使用列表(list)来替代数组的功能[^2]。可以通过集合(set)运算或列表推导式获取两个列表中的相同元素。 #### 使用集合(set)获取交集: ```python list1 = [1, 2, 3, 4, 5] list2 = [3, 4, 5, 6, 7] common_elements = list(set(list1) & set(list2)) print(common_elements) # 输出: [3, 4, 5] ``` 这种方式将列表转换为集合后执行交集运算,再将结果转回列表形式。 #### 使用列表推导式保留顺序: ```python list1 = [1, 2, 3, 4, 5] list2 = [3, 4, 5, 6, 7] common_elements = [x for x in list1 if x in list2] print(common_elements) # 输出: [3, 4, 5] ``` 该方法保持了原始顺序,并允许重复值的存在。 --- ### 在 Java 中比较两个数组并返回相同元素 Java 提供了多种方式实现数组的比较交集提取。一种常见做法是结合 `HashSet` 来高效查找共同元素。 ```java import java.util.*; public class ArrayIntersection { public static void main(String[] args) { int[] array1 = {1, 2, 3, 4, 5}; int[] array2 = {3, 4, 5, 6, 7}; Set<Integer> set = new HashSet<>(); for (int num : array1) { set.add(num); } List<Integer> commonElements = new ArrayList<>(); for (int num : array2) { if (set.contains(num)) { commonElements.add(num); set.remove(num); // 防止重复添加 } } System.out.println(commonElements); // 输出: [3, 4, 5] } } ``` 上述代码首先将第一个数组元素存入 `HashSet`,然后遍历第二个数组,检查每个元素是否存在于集合中,以此找出交集。 Java 的数组定义操作具有较强的类型安全性,并支持丰富的集合工具类用于数据处理[^1]。 --- ### 在 C++ 中比较两个数组并返回相同元素 C++ 中可以通过标准库中的 `unordered_set` 来实现高效的查找操作,进而提取两个数组的公共元素。 ```cpp #include <iostream> #include <vector> #include <unordered_set> int main() { std::vector<int> arr1 = {1, 2, 3, 4, 5}; std::vector<int> arr2 = {3, 4, 5, 6, 7}; std::unordered_set<int> set(arr1.begin(), arr1.end()); std::vector<int> commonElements; for (int num : arr2) { if (set.find(num) != set.end()) { commonElements.push_back(num); } } std::cout << "Common elements: "; for (int num : commonElements) { std::cout << num << " "; } return 0; } ``` 该示例通过将第一个数组放入 `unordered_set` 中,随后遍历第二个数组并查找是否存在相同元素,最终输出 `[3, 4, 5]`。 --- ### 总结与扩展 不同编程语言对数组的操作各有特色: - **JavaScript** 提供了简洁的函数式编程风格方法,如 `filter()` `includes()`。 - **Python** 借助集合运算或列表推导式实现高效的数据处理。 - **Java** **C++** 更倾向于使用集合类结构(如 `HashSet` 或 `unordered_set`)来提升性能。 每种语言的数组实现都与其整体设计哲学相一致,开发者可根据具体需选择合适的方法进行数组比较交集提取。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值