zoukankan      html  css  js  c++  java
  • 查找数组中最大的2个数 分类: B10_计算机基础 20130211 19:52 1041人阅读 评论(1) 收藏

    (1)在C语言的被调用函数中,没有办法求出数组实参的大小,因此需要显示传递array_length参数。详见博客:C语言内存分配时间。

    (2)以O(N)的计算时间得出结果。


    #include <stdio.h>
    
    void find_2_largest(int array[], int array_length, int *plargest, int *psecond_largest);
    
    int main(void){
            int array[10]={23,45,987,3,-90,123,987,1975,988,0};
            int largest=0;
            int second_largest=0;
            int array_length=sizeof(array)/sizeof(array[0]);
    
            find_2_largest(array, array_length, &largest, &second_largest);
    
            printf("The 2 largest number is: %d and %d.\n", largest, second_largest);
            return 0;
    }
    
    
    
    void find_2_largest(int array[], int array_length, int *plargest, int *psecond_largest){
    
            if(array[0]>array[1]){
                    *plargest=array[0];
                    *psecond_largest=array[1];
            }else{
                    *plargest=array[1];
                    *psecond_largest=array[0];
            }
    
            for(int i=2; i<array_length; i++){
                    if(array[i]>*plargest){
                            *psecond_largest=*plargest;
                            *plargest=array[i];
                    }else if(array[i]>*psecond_largest){
                            *psecond_largest=array[i];
                    }
    
            }
    }


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Ubuntu加上一个命令搜索路径/etc/ environment
    在Ubuntu中编译QT工程Tesful
    Java中的多线程
    [转载]iOS开发之手势识别
    OracleDBA之表管理
    JDBC与JAVA数据库编程
    Oracle之PL/SQL学习笔记
    在Objective-C中浅谈面向对象
    Web前端上万字的知识总结
    类比Spring框架来实现OC中的依赖注入
  • 原文地址:https://www.cnblogs.com/lujinhong2/p/4637426.html
Copyright © 2011-2022 走看看