【无序数组指针交换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;
}
相关推荐
alphaTao3 分钟前
LeetCode 每日一题 2026/9/14-2026/9/20
算法·leetcode
hanlin034 分钟前
刷题笔记:力扣第560题-和为k的子数组
笔记·算法·leetcode
蒸蒸yyyyzwd8 分钟前
八股学习 MVCC 慢查询优化和 read 过程
c++·八股
总线通信小百科15 分钟前
汽车也能像手机一样远程升级?车载OTA原理解析
经验分享
APEX真好玩16 分钟前
把高频传感器(IMU)数据封装进 MP4:FFmpeg 私有数据轨实践
c++
tang_042718 分钟前
【Hi.Ltd 专题】第8期:Managements 插件、单例与服务定位
经验分享·c#·hi.ltd系列
residual_fan20 分钟前
航空发动机故障诊断专用智能体(四):深度强化学习与自适应奖励机制
人工智能·算法·数据挖掘·数据分析
2601_9622186122 分钟前
万象生鲜系统多终端统一数据协议PC手机PDA数据实时同步
大数据·数据库·人工智能·python·算法
AgentMaster22 分钟前
企业元数据管理技术实战:从采集架构到血缘解析的完整方案
大数据·人工智能·算法