c语言实验把B表中的每个元素取出来,在A表中做一次定位查找,如果它不在A表中,就将它放入,否则就不放入。

c语言实验:经典数组合并
实现思路:
1、判断表是否为空

2、取出b表每一个元素

3、将取出的每一个元素与a表进行匹配,如果能够匹配到说明元素存在 不添加。跳出继续匹配下一次

4、如果 标记不存在。那么添加元素到末尾。

具体实现代码:

#include <stdio.h>

int main() {
	//把B表中的每个元素取出来,在A表中做一次定位查找,如果它不在A表中,就将它放入,否则就不放入。
    char A[] = {'C', 'a', 't', '0', '0', '0', '1', '1', 'c', 'a', 't'};
    char B[] = {'C', 'a', 't', '0', '0', '0', '1', '1', 'x', 'y', 'z'};
    int ALength = sizeof(A) / sizeof(A[0]);  // 数组A的长度
    int BLength = sizeof(B) / sizeof(B[0]);  // 数组B的长度
    
    // 放入元素后的A表元素输出看一下 
    printf("添加元素前的序列:\n");
    for (int i = 0; i < ALength; i++) {
        printf("%c ", A[i]);
    }
    printf("\n");
    
    printf("ALength:%d\n", ALength);
    
	if (ALength != 0 || BLength != 0) {
        for (int i = 0; i < BLength; i++) {
            int isOn = 0;  // 标记是否找到元素

            for (int j = 0; j < ALength; j++) {
                if (B[i] == A[j]) {  // 元素存在
                    isOn = 1;
                    break; // 跳出 继续找下一个 
                }
            }

            if (!isOn) {  // 元素不存在
                A[ALength] = B[i];  // 将元素放入A表末尾
                ALength++;  // 增加A表长度,,跳出继续找 
            }
            
        }
    } else {
        printf("err,空表");
    }
    
    // 添加元素后的A表元素输出看一下 
    printf("添加元素后的序列:\n");
    for (int i = 0; i < ALength; i++) {
        printf("%c ", A[i]);
    }
    printf("\n");
    printf("ALength:%d\n", ALength);
    
    return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值