【无序数组指针交换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;
}
相关推荐
叼烟扛炮17 分钟前
Linux 学习笔记(三十九):网络基石——TCP/IP 模型与 UDP 实战
linux·运维·网络·笔记·学习·tcp/ip
闲云野鹤在人间18 分钟前
头秃修炼手册:StorageClass+StatefulSet+ETCD 全套渡劫笔记
linux·数据库·笔记·云原生·kubernetes·etcd
Figo_Cheung22 分钟前
Figo基于结构空间算法假设(SSAH)的生成式大模型优化范式与工程实现边界研究——提出适应AGI架构演化的自适应拓扑感知表征机制
算法·架构·agi
小菜要扣篮23 分钟前
Ubuntu 下使用 vscode 打开 C++ 项目后,无法通过 F12 定位到定义问题解决
c++·vscode·ubuntu
wuminyu23 分钟前
JVM规范学习总结:class执行性能差异
java·linux·c语言·jvm·c++
恒锐丰科技林技术员27 分钟前
CL5012A 升压型双节锂电池充电芯片方案解析
经验分享·嵌入式硬件·硬件工程
派大猩猩_28 分钟前
选题散在 20 篇笔记里?Nutstore Sync在 Obsidian 里创建选题小工具,创作动线短一半
笔记·obsidian·obsidian插件·obsidian ai
前进的李工32 分钟前
Agent 学习笔记 04:KV Cache 与上下文缓存
笔记·学习·缓存·agent·注意力机制·kv cache·prompt cache
Z21-X44 分钟前
云原生运维笔记:打通OpenStack的任督二脉——从Neutron网络踩坑到Swift与Heat硬核实战
运维·笔记·学习·云原生
旖旎夜光1 小时前
LCR 170:交易逆序对的总数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法