【无序数组指针交换2则】2024-10-28

缘由n 个数存放在数组中,用指针指向数组首地址,在子函数中用指针做形参实现:将最小值与第一个数交换。在主函数中输出交换后的 n 个数_编程语言-CSDN问答

无序数组从头和尾向中间找最小值后指针返回0交换即可

n 个数存放在数组中,用指针指向数组首地址,在子函数中用指针做形参实现:将最小值与第一个数交换。在主函数中输出交换后的 n 个数。n个数为:3 5 7 4 8 2 9.

cpp 复制代码
void 无序数组指针交换(int* a, int* l)
{//缘由https://ask.csdn.net/questions/8156571/54901375
	int *x = a, b = 0;
xh:if (a < l)
{
	if (*++a < *x)
		x = a;
	if (*--l < *x)
		x = l;
	++b;
	goto xh;
}
   a -= b;
   b = *a, *a = *x, *x = b;
}




	int a[]{3, 5, 7, 4, 8, 2, 9}, n = 7;
	无序数组指针交换(a, a + n - 1);

缘由指针-输入十个数存入一位数组中,最大数与最后一个数交换,最小数与第一个交换_编程语言-CSDN问答

cpp 复制代码
void 无序数组指针交换(int* a, int* l)
{//缘由https://ask.csdn.net/questions/8156571/54901375
	int *x = a, b = 0, *d = l;
xh:if (a < l)
{
	if (*++a < *x)x = a; if (*a > *d)d = a;
	if (*--l < *x)x = l; if (*l > *d)d = l;
	++b;
	goto xh;
}
   a -= b; l += b;
   if (a != x)b = *a, *a = *x, *x = b;
   if (l != d)b = *l, *l = *d, *d = b;
}
相关推荐
8Qi814 小时前
LeetCode 235. 二叉搜索树的最近公共祖先(LCA)
算法·leetcode·二叉树·递归·二叉搜索树·lca·迭代
好评12414 小时前
【C++】智能指针全解
c++·智能指针
sweetone14 小时前
凯丰KFS-C1迷你电子秤显示不准故障维修
经验分享
bIo7lyA8v14 小时前
算法稳定性分析中的随机扰动建模的技术8
算法
是阿建吖!14 小时前
【Linux】信号
android·linux·c语言·c++
城北徐宫14 小时前
Linux信号深度解剖:5种产生、3张表、4次切换
linux·c++·学习
sugar__salt14 小时前
从栈队列数据结构到JS原型面向对象全解
前端·javascript·数据结构
liulilittle14 小时前
论 Linux 内核态全局稳态带宽的卡尔曼估计与工程实现
linux·服务器·网络·c++·计算机网络·tcp·通信
XBodhi.14 小时前
Visual Studio C++ 语法错误: 缺少“;”(在“return”的前面)
开发语言·c++·visual studio
科研online15 小时前
基于多源数据和XGBoost-SHAP分析中国大陆绿地碳汇空间变异影响因素的非线性相关性与尺度差异
算法·学习方法