【一维数组】交换数组

题目

将数组A中的内容和数组B中的内容进行交换。(数组一样大)
解题方式通过函数封装可以实现任意类型的数组元素交换
思路来源:qsort函数的模拟实现

void Change_arr2(void* ch1, void* ch2, size_t num, size_t sz)
{for (int i = 0; i < num * sz; i++){char tmp = *(char*)ch1;*(char*)ch1 = *(char*)ch2;*(char*)ch2 = tmp;((char*)ch1)++;((char*)ch2)++;}
}
void test1()
{char ch1[] = "abcdefg";char ch2[] = "hijklmn";int num = sizeof(ch1) / sizeof(ch1[0]);int sz = sizeof(ch1[0]);//Change_arr1(ch1, ch2, num, sz);Change_arr2(&ch1, &ch2, num, sz);printf("%s\n", ch1);printf("%s\n", ch2);
}
void test2()
{int ch1[] = { 1,2,3,4,5 };int ch2[] = { 6,7,8,9,10 };int num = sizeof(ch1) / sizeof(ch1[0]);int sz = sizeof(ch1[0]);//Change_arr1(ch1, ch2, num, sz);Change_arr2(&ch1, &ch2, num, sz);for (int i = 0; i < num; i++){printf("%d  ", ch1[i]);}printf("\n");for (int i = 0; i < num; i++){printf("%d  ", ch2[i]);}
}
typedef struct std
{char name[20];int age;
}std;
void test3()
{std ch1[] = { {.name="张三",.age=20},{.name = "王五",.age = 24} };std ch2[] = { {.name = "李四",.age = 18} ,{.name = "赵六",.age = 16} };int num = sizeof(ch1) / sizeof(ch1[0]);int sz = sizeof(ch1[0]);//Change_arr1(ch1, ch2, num, sz);Change_arr2(&ch1, &ch2, num, sz);for (int i = 0; i < num; i++){printf("%d  %s  ", ch1[i].age,ch1[i].name);}printf("\n");for (int i = 0; i < num; i++){printf("%d  %s  ", ch2[i].age, ch2[i].name);}
}
int main()
{//test1();//交换字符数组//test2();//交换整型数组test3();//交换结构体return 0;
}

交换结构体

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/174953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net core 事务

在 .NET Core 中&#xff0c;可以使用 Entity Framework Core 来实现事务处理。下面是一个简单的示例&#xff0c;展示了如何在 .NET Core 中使用 Entity Framework Core 来创建和执行事务&#xff1a; using System; using Microsoft.EntityFrameworkCore; using System.Tran…

Docker配置Halo搭建个人博客-快速入门

Docker配置Halo搭建个人博客-快速入门 1 官方文档2 安装Halo2.1 创建Halo主目录2.2 远程下载配置文件2.3 编辑配置文件2.4 拉取最新镜像2.6 查看容器2.7 开放服务器的防火墙 3 运行3.1 运行项目3.2 停止项目 4 常见问题4.1 没有权限4.2 ommand netstart not found, did you mea…

寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 &#xff1a;本题难点在于时间复杂度的掌握&#xff0c; 思路&#xff1a;把两个数组合为一个数…

如何在自己的github仓库建立xv6-labs-2020项目

由于github上没有放出xv6-labs-2020的源代码版本&#xff0c;所以如果想在github上建立自己关于这个实验的仓库&#xff0c;可以遵循下面步骤&#xff1a; 首先在某一个地方clone下源代码 git clone git://g.csail.mit.edu/xv6-labs-2020然后进入该文件夹运行git bash或者其他…

8.0 泛型

通过之前的学习&#xff0c;读者可以了解到&#xff0c;把一个对象存入集合后&#xff0c;再次取出该对象时&#xff0c;该对象的编译类型就变成了Object类型&#xff08;尽管其在运行时类型没有改变&#xff09;。集合设计成这样&#xff0c;提高了它的通用性&#xff0c;但是…

JAVA Spring boot Process finished with exit code 0

JAVA Spring boot Process finished with exit code 0 原因&#xff1a; 检查配置文件是否引入spring-boot-starter-web配置依赖 问题解决: 1.maven: pom引入 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-st…

Git的原理与使用(一):Git的基本操作(包含:版本回退)

Git原理与使用一 一.Git的初识与安装1.什么是Git2.如何安装Git1.git命令与git help(Git下的"man手册")2.centos下安装Git3.ubantu下安装Git 二.Git的前置操作与前置知识1.创建Git本地仓库2.配置Git3.理解Git的分区1.工作区2.暂存区3.版本库4.分区关系总结 三.添加文件…

springboot启动Table ‘xxx‘ already exists

jpa.generate-ddl和jpa.hibernate.ddl-auto都可以控制是否执行datasource.schema脚本&#xff0c;来初始化数据库结构&#xff0c;只要有一个为可执行状态就会执行&#xff0c;比如jpa.generate-ddl:true或jpa.generate-ddl:update&#xff0c;并没有相互制约上下级的关系。 要…

Android修行手册 - 使用ViewPager2实现画廊效果

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

web前端开发规范、HTML规范、JavaScript规范、style规范

MENU 前言目的 HTML规范用法规范注释规范 CSS规范用法规范书写顺序样式覆盖注释规范 JavaScript规范用法规范组件选项注释规范 命名规范目录命名图片命名文件命名方法命名样式命名常用词 工程结构目录构建代码风格 Git规范分支说明使用说明 相关连接 前言 目的 规范的目的是为…

唯创知音WTN6系列语音芯片:高音频采样率与精细音量控制赋能广泛应用

在语音芯片领域&#xff0c;唯创知音的WTN6系列语音芯片以其出色的性能和广泛的应用领域&#xff0c;无疑是行业的一颗璀璨明星。近期&#xff0c;该系列芯片实现了音频采样率32kHz的突破&#xff0c;以及16级音量控制的精细调节&#xff0c;进一步提升了其在各类应用中的表现。…

小航助学题库蓝桥杯题库stem选拔赛(22年3月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSD…

Hive -- 基本概念

1、什么是Hive&#xff1a; Hive是数据仓库建模的工具之一&#xff0c;通过向hive中写一个交互式的sql&#xff0c;在海量数据中查询分析得到结果的平台。 2、Hive的优缺点&#xff1a; 1、优点&#xff1a; 1、操作接口采用类sql语法&#xff0c;提供快速开发的能力&#x…

解决ansible批量加入新IP涉及known_hosts报错的问题

我们把一批新的IP加入到ansible的hosts文件&#xff0c;比如/etc/ansible/hosts&#xff0c;往往会有这样的提示&#xff0c; 因为本机的~/.ssh/known_hosts文件中并有fingerprint key串&#xff0c;使用ssh连接目标主机时&#xff0c;一般会提示是否将key字符串加入到~/.ssh/…

如何使用内网穿透将Tomcat网页发布到公共互联网上【内网穿透】

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…

中国北斗:守护萨雷兹湖一方安澜

中国北斗&#xff1a;守护萨雷兹湖一方安澜 在第三届“一带一路”国际合作高峰论坛数字经济高级别论坛上&#xff0c;由中国经济信息社、国家发展改革委高技术司、国家数据局联合编制的《数字“慧”就发展之路》中英文图文集正式发布&#xff0c;展现了中国与共建“一带一路”国…

阶乘之和(n<50)

#include<iostream> using namespace std; int a[101] { 0 }, s[101] { 0 }; //计算阶乘的每一个因素 void change(int x) { int g 0;//进位 for (int i 100; i > 0; i--) { a[i] a[i] * x g;//将当前因素乘到数组a中 g a[i] / 10;//…

PHP中关于func_get_args()方法

首先呢这个函数出现的是比较早的,大致应该是PHP4出现的, func_get_args — 返回一个包含函数参数列表的数组 说明 func_get_args(): array 获取函数参数列表的数组。 该函数可以配合 func_get_arg() 和 func_num_args() 一起使用&#xff0c;从而使得用户自定义函数可以接…

如何将mobi、awz3、epub格式转化为pdf

偶然之间有个需求就是网上下载了一些书籍的格式没法打开看&#xff0c;或者是想把kindle的书籍转换成pdf 那么经过一番折腾找到了两个可以用的工具站分享给大家&#xff0c;有需要的可是尝试下&#xff0c;小编这边测试了可以用&#xff0c;就是下载的时候慢的一匹。。。 第一…

从零开始学习typescript——引用类型

前言 ts 中的值分为原始值 和引用值两种类型。 原始值 在 TypeScript 中&#xff0c;原始值是指最基本的数据类型&#xff0c;也就是 Boolean、Number、String 和 Nullish。这些数据类型是不可变的&#xff0c;它们的值在被创建之后就不能再次被改变。在 TypeScript 中&#…