博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找出数组中最大数和最小数,要求O(3/2n)
阅读量:3526 次
发布时间:2019-05-20

本文共 702 字,大约阅读时间需要 2 分钟。

#include 
#define SWAP(A,B) {A ^= B; B ^= A; A ^= B;}void find_max_min(int arr[],int len){ int i,max,min; /* * 第一次遍历数组: * 把两两比较的结果 * 较大的数放到下标是偶数的位置里 * 较小的数放到下标是奇数的位置里 */ for(i = 0; i < len - 3; i += 2) { if(arr[i] < arr[i + 1]) SWAP(arr[i],arr[i + 1]); } /* * 默认偶数下标组成的数组中第一个为最大数,奇数下标组成的数组中第一个最小 */ max = arr[0]; min = arr[1]; /* * 第二次遍历偶数下标数组找最大: */ for(i = 0; i < len - 3; i += 2) if(max < arr[i]) max = arr[i]; /* * 第三次遍历奇数下标数组找最小: */ for(i = 1; i < len - 3; i += 2) if(min > arr[i]) min = arr[i]; printf("max = %d,min = %d\n",max,min);}int main(){ int data[] = {6,2,78,23,89,2,4,6,911,2,42,83,954,2,4,64}; int len = sizeof(data) / sizeof(data[0]); find_max_min(data,len);}

转载地址:http://gxuhj.baihongyu.com/

你可能感兴趣的文章
简单的用户头像修改功能(springboot后台)
查看>>
springboot+mybatis实现分页
查看>>
leetcode332. 重新安排行程
查看>>
为什么局域网网段不同不能通信?
查看>>
itchat微信助手,kaggle 电影数据集分析,基于内容的电影推荐
查看>>
认识和使用JWT
查看>>
通过springboot框架,自己动手实现oauth2.0授权码模式认证
查看>>
条件表达式于运算符的点点滴滴的积累
查看>>
最短路径最基本的三种算法【此后无良辰】
查看>>
class的点点滴滴的总结
查看>>
vector 的点点滴滴的总结
查看>>
测试用例
查看>>
自动化测试学习步骤
查看>>
自动化测试需要掌握的知识
查看>>
HTTP协议
查看>>
Python问题总结01
查看>>
Python小程序——冒泡排序
查看>>
cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
查看>>
LeetCode 206反转链表 [javsScript]
查看>>
[LeetCode javaScript] 3. 无重复字符的最长子串
查看>>