编程之美2.10扩展问题求数组中第二大数

来源:互联网 发布:徐宥箴与多益网络 编辑:程序博客网 时间:2024/06/05 15:40

要求求得数组中第二大数

采用分治思想解决这个问题

 

#include<iostream>using namespace std;//分治思想求数组中第二大的数//low为数组低位索引,high为数组高位索引void search(int *a,int low,int high,int *max,int *smax){    //max为最大的数,smax为数组中第二大的数if(high-low<=1){if(a[low]<a[high]){*max=a[high];*smax=a[low];return;}else{*max=a[low];*smax=a[high];return;}}int lmax,lsmax,rmax,rsmax;//lmax定义为数组左半边最大的数//lsmax为数组左半边第二大的数//rmax定义为数组右半边最大的数//rsmax定义为数组右半边第二大的数//搜索数组左半边search(a,low,low+(high-low)/2,&lmax,&lsmax);//搜索数组右半边search(a,low+(high-low)/2+1,high,&rmax,&rsmax);if(lmax>rmax){if(rmax>lsmax){*max=lmax;*smax=rmax;}else{*max=lmax;*smax=lsmax;}}else{if(lmax>rsmax){*max=rmax;*smax=lmax;}else{*max=rmax;*smax=rsmax;}}return;}int main(){int a[8]={9,7,4,6,3,19,11,12};int smax,max;search(a,0,7,&max,&smax);cout<<max<<" "<<smax<<endl;//for test outputcin>>max;return 0;}


 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新生儿婴儿呕奶怎么办 儿童肚子着凉拉肚子怎么办 七个月宝宝拉肚子怎么办 小孩大便果冻状怎么办 五个月婴儿拉稀怎么办 孩子老是着凉怎么办呢 五个月孩子拉肚子怎么办 肚子着凉了拉稀怎么办 小孩子着凉吐奶怎么办 儿童大便有粘液怎么办 宝宝拉鼻涕屎怎么办 婴儿拉白色粘液怎么办 宝宝不肯吃鱼肝油怎么办 婴儿不肯吃鱼肝油怎么办 宝宝吃鱼肝油吐怎么办 五个月婴儿夏天怎么办 厌奶期宝宝瘦了怎么办 二个月的宝宝不喝夜奶怎么办 婴儿不喝奶粉怎么办 小孩整天不吃饭怎么办 婴儿不吃不喝怎么办 断奶后不吃奶瓶怎么办 小孩早上不吃饭怎么办 新生儿不认乳头怎么办 宝宝不吸奶嘴怎么办 孩子不会吸奶瓶怎么办 宝宝突然不吃奶瓶怎么办 换了奶瓶不喝奶怎么办 新生儿不喝奶粉怎么办 7个月小婴儿磨牙怎么办 宝宝出生四天不喝母乳怎么办 我的奶水不足怎么办 乳牙长得不整齐怎么办 新生儿只吃奶粉怎么办 小孩不肯吸母乳怎么办 三个月宝宝不吃奶粉怎么办 宝宝不爱喝水怎么办 崔玉涛 小孩身体铅过高怎么办 疫苗引起的发烧怎么办 婴儿不吃米糊怎么办 宝宝米糊不吃怎么办