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

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

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

1.头交换

c 复制代码
int tmp1 = arr1[left];
arr1[left] = arr2[left];
arr2[left] = tmp1;

2.尾交换

c 复制代码
int tmp2 = arr1[right];
arr1[right] = arr2[right];
arr2[right] = tmp2;

3.相等时

c 复制代码
		if (left == right)
		{
			tmp1 = arr1[left];
			arr1[left] = arr2[right];
			arr2[right] = tmp1;
		}

总代码

c 复制代码
#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;
}
相关推荐
qq_25737959几秒前
python基础-字符串速查笔记
开发语言·笔记·python
念故思旧2 分钟前
【最长递增子序列】【LeetCode算法】【c++】【动态规划】
c++·算法·leetcode·动态规划
一条闲鱼_mytube5 分钟前
golang recover错误
开发语言·后端·golang
Sean_summer6 分钟前
python语言总结(持续更新)
开发语言·python
虽千万人 吾往矣6 分钟前
golang算法快慢指针
开发语言·算法·golang
竹等寒10 分钟前
Go红队开发—web网络编程
开发语言·前端·网络·安全·web安全·golang
界面开发小八哥16 分钟前
数据可视化图表库LightningChart JS 全新发布v7.0——提高视觉质量
开发语言·javascript·信息可视化·图表·lightningchart
蹦蹦跳跳真可爱58918 分钟前
Python----数据可视化(Seaborn二:绘图一)
开发语言·python·信息可视化
点云SLAM21 分钟前
Python 数据可视化
开发语言·python·信息可视化·数据可视化
沐墨专攻技术27 分钟前
C语言操作符详解
c语言·算法