【无序数组指针交换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;
}
相关推荐
sycmancia7 小时前
Qt——多线程与界面组件的通信
开发语言·qt·算法
蜜桃味女焊匠人7 小时前
手工氩弧焊高耗气整改实战
人工智能·经验分享·其他·机器人
想吃火锅10057 小时前
【leetcode】5.最长回文子串js
算法·leetcode·职场和发展
盐焗鹌鹑蛋8 小时前
【C++】C++11:右值引用、移动语义万能引用
c++
笑鸿的学习笔记8 小时前
C++笔记之内存映射、零拷贝与共享内存(学习三)-操作系统术语概念图
笔记·学习
LingzhiPi8 小时前
零知ESP32--RC522NFC考勤打卡系统
c++·单片机·嵌入式硬件
CoderYanger8 小时前
A.每日一题:1967题+1331题
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
Jasmine_llq8 小时前
《P17010 [GESP202606 五级] 排排坐》
算法·贪心算法·数学化简求和式·排序sort 反向迭代器降序·线性遍历累加计算总权重和
va学弟8 小时前
LeetCode 热题 100 题解(1):哈希
python·算法·leetcode·哈希算法
既然如此,那就开摆8 小时前
ULIP总结
笔记·学习