| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2486 人关注过本帖
标题:求整形数组中第二大元素的下标
取消只看楼主 加入收藏
feng59183175
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2016-4-18
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:4 
求整形数组中第二大元素的下标
我的思路是选择法排序然后求第二大元素
可这时候的问题就是排序以后下标是不是都变了?
选择法的话又不是很熟练
有没有大神指导一下
搜索更多相关主题的帖子: 元素 
2016-04-21 20:32
feng59183175
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2016-4-18
收藏
得分:0 
我考虑了一下
用一个变量来记录下标行吗
2016-04-21 23:28
feng59183175
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2016-4-18
收藏
得分:0 
有没有大神帮我写一下看一下  纠结了一上午还是没写出来
2016-04-22 11:59
feng59183175
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2016-4-18
收藏
得分:0 
OK懂了
后天就要考试了
对我这个刚学两周的人来说真是亚历山大
2016-04-22 13:25
feng59183175
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2016-4-18
收藏
得分:0 
int secondMaxIndex(int *arr, int n)
{/*
  1.求整形数组中第二大元素的下标(15分)
  n表示数组长度
  如数组中元素为81 12 42 67 9 88,返回0
  */

    int max = arr[0]>arr[1]?arr[0]:arr[1];
    int maxIndex =arr[0]>arr[1]?0:1;
    int second = arr[0]<arr[1]?arr[0]:arr[1];
    int secondIndex =arr[0]<arr[1]?0:1;
    for (int i = 2; i < n; i++) {
        if (arr[i] > max) {
            second = max;
            secondIndex = maxIndex;
            max = arr[i];
            maxIndex = i;
        }else if(arr[i] > second){
            second = arr[i];
            secondIndex = i;
        }
    }
    return secondIndex;
}
int sumOfNumber(int a,int n)
2016-04-22 15:23
快速回复:求整形数组中第二大元素的下标
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016805 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved