博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个数组中同时找到最大/最小值
阅读量:5089 次
发布时间:2019-06-13

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

 
//
main.cpp
//
Find minimum & maximum in one array at one time
#include
<
iostream
>
#include
<
utility
>
using
namespace
std ;
void
PairFind(
int
arr[], size_t len, size_t begin,
int
&
mi,
int
&
ma)
{
for
(
int
i
=
begin ;i
+
1
<
len ;i
+=
2
)
{
if
(arr[i]
<
arr[i
+
1
])
{
mi
=
(arr[i]
<
mi
?
arr[i] : mi) ;
ma
=
(arr[i
+
1
]
>
ma
?
arr[i
+
1
] : ma) ;
}
else
//
arr[i] >= arr[i+1]
{
mi
=
(arr[i
+
1
]
<
mi
?
arr[i
+
1
] : mi) ;
ma
=
(arr[i]
>
ma
?
arr[i] : ma) ;
}
//
if
}
//
for
}
pair
<
int
,
int
>
MinMax(
int
arr[], size_t len)
{
int
minimum
=
0
;
int
maximum
=
0
;
  
//
It is better to split the odd case & even case. Good idea !
if
(
1
==
len
%
2
)
//
Odd
{
minimum
=
maximum
=
arr[
0
] ;
PairFind(arr, len,
1
, minimum, maximum) ;
}
else
//
Even number
{
minimum
=
arr[
0
] ;
maximum
=
arr[
1
] ;
PairFind(arr, len,
2
, minimum, maximum) ;
}
//
if
return
pair
<
int
,
int
>
(minimum, maximum) ;
}
int
arr_even[]
=
{
2
,
4
,
9
,
6
,
7
,
1
,
0
,
3
,
8
,
5
} ;
int
arr_odd[]
=
{
2
,
4
,
9
,
6
,
7
,
1
,
0
,
3
,
8
,
5
,
7
} ;
int
main()
{
pair
<
int
,
int
>
miMa_even
=
MinMax(arr_even,
sizeof
(arr_even)
/
sizeof
(arr_even[
0
])) ;\
cout
<<
"
minimum is :
"
<<
miMa_even.first
<<
endl ;
cout
<<
"
maximum is :
"
<<
miMa_even.second
<<
endl ;
cout
<<
endl ;
pair
<
int
,
int
>
miMa_odd
=
MinMax(arr_odd,
sizeof
(arr_odd)
/
sizeof
(arr_odd[
0
])) ;
cout
<<
"
minimum is :
"
<<
miMa_odd.first
<<
endl ;
cout
<<
"
maximum is :
"
<<
miMa_odd.second
<<
endl ;
return
0
;
}

转载于:https://www.cnblogs.com/walfud/archive/2011/04/17/2018687.html

你可能感兴趣的文章
Github C 编译器项目 8cc main函数中用到的 C库函数
查看>>
Java 获取字符串长度 length()
查看>>
JS处理四舍五入函数 toFixed(n)(可取小数点后n位)
查看>>
iOS 开发,工程中混合使用 ARC 和非ARC(转)
查看>>
JavaScript 执行机制
查看>>
Django---csrf_token
查看>>
[翻译]效率低的日子怎么办?
查看>>
设计模式的饕餮盛宴
查看>>
Swift编程语言的相关资料
查看>>
python数据类型之int用法
查看>>
selenium模拟鼠标操作
查看>>
第九章 操作系统
查看>>
尽量用类型化的常量替代预处理器的 #DEFINE 方法
查看>>
CSS教程布局之道
查看>>
Mac系统常用快捷键及技巧
查看>>
28.广搜:被围住的面积
查看>>
jQuery 图片轮播的代码分离
查看>>
疯狂,千人抢“幸福”,引微博万人围观
查看>>
vue中 父子组件的通讯
查看>>
GridView如何实现双击行进行编辑,更新
查看>>