C语言19弹--交换数组元素

news/2025/2/12 0:49:02/

使用C语言实现交换数组元素

思路:使用头尾下标通过使用三方变量实现交换,注意头尾变量相等时单独进行交换。

1.头交换

int tmp1 = arr1[left];
arr1[left] = arr2[left];
arr2[left] = tmp1;

2.尾交换

int tmp2 = arr1[right];
arr1[right] = arr2[right];
arr2[right] = tmp2;

3.相等时

		if (left == right){tmp1 = arr1[left];arr1[left] = arr2[right];arr2[right] = tmp1;}

总代码

#include <stdio.h>int main()
{int arr1[] = { 0,1,2,3,4 };int arr2[] = { 5,6,7,8,9 };int i = 0, j = 0;int sz = sizeof(arr1) / sizeof(arr1[0]);int left = 0, right = sz - 1;printf("交换前\n");for (i = 0; i < sz; i++){printf("%d ", arr1[i]);}printf("\n");for (i = 0; i < sz; i++){printf("%d ", arr2[i]);}printf("\n");while (left <= right){int tmp1 = arr1[left];arr1[left] = arr2[left];arr2[left] = tmp1;int tmp2 = arr1[right];arr1[right] = arr2[right];arr2[right] = tmp2;if (left == right){tmp1 = arr1[left];arr1[left] = arr2[right];arr2[right] = tmp1;}left++;right--;}printf("交换后\n");for (i = 0; i < sz; i++){printf("%d ", arr1[i]);}printf("\n");for (i = 0; i < sz; i++){printf("%d ", arr2[i]);}printf("\n");return 0;
}

http://www.ppmy.cn/news/1233851.html

相关文章

C++虚析构和纯虚析构解决delete堆区父类指针无法调用子类的构造函数

#include<iostream> #include<string>using namespace std;//虚析构和纯虚析构 class Animal { public:Animal(){cout<<"执行Animal的构造函数"<<endl;}~Animal(){cout<<"执行Animal的析构函数"<<endl;}virtual void …

【办公常识】写好的代码如何上传?使用svn commit

首先找到对应的目录 找到文件之后点击SVN Commit

C++(模板进阶)

目录 前言&#xff1a; 本章学习目标&#xff1a; 1.非类型模版参数 1.1使用方法 1.2注意事项 1.3 实际引用 2.模版特化 2.1概念 2.2函数模板特化 2.3类模板特化 2.3.1全特化 2.3.2偏特化 3.模版分离编译 ​编辑 3.1失败原因 ​编辑 3.2解决方案 4 总结 前言&…

【Linux入侵日志排查】

在Linux系统中&#xff0c;不同的服务和应用程序可能会产生不同格式的日志记录。以下是一些常见类型的日志文件及其格式说明&#xff1a; 以下是一些常见的 Linux 日志字段格式说明&#xff0c;以及具体的示例&#xff1a; /var/log/auth.log&#xff1a;此日志文件包含与身份…

SpringBoot学习笔记-实现微服务:匹配系统(上)

笔记内容转载自 AcWing 的 SpringBoot 框架课讲义&#xff0c;课程链接&#xff1a;AcWing SpringBoot 框架课。 CONTENTS 1. 配置WebSocket2. 前后端WebSocket通信2.1 WS通信的建立2.2 加入JWT验证 3. 前后端匹配业务3.1 实现前端页面3.2 实现前后端交互逻辑3.3 同步游戏地图 …

利用Python进行数据分析【送书第六期:文末送书】

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

【01】ES6:ECMAScript 介绍

ECMAScript 6.0 &#xff08;以下简称 ES6&#xff09;是 JavaScript 语言的下一代标准&#xff0c;已经在 2015 年 6 月正式发布。它的目标&#xff0c;是使得 JavaScript 语言可以用来编写复杂的大型应用程序&#xff0c;成为企业级开发语言。 参考&#xff1a;《ECMAScript…

2、基础入门——web应用架构搭建漏洞HTTP数据包代理服务器

Web应用环境架构类 开发语言&#xff1a;php、java、python、ASP、ASPX等程序源码&#xff1a;用的人多了&#xff0c;就成CMS了。中间件容器&#xff1a;IIS、Apache、Nginx、Tomcat、Weblogic、Jboos、glasshfish等数据库类型&#xff1a;Access、Mysql、Mssql、Oracle、Red…