分享

与LSGO一起学“14 数组(14.21 数组在对象中的传参)”

 老马的程序人生 2020-08-17

14.21 数组在对象中的传参

程序演示:

//Get.h

#pragma once

class Get

{

public:

    int find1(int,const int[],int);

    int find2(int,const int[],int);

    bool IsSort(int[],int);

};

//Get.cpp

#include"Get.h"

int Get::find1(int key,const int a[],int length)

{

    for (int i = 0;i<length;i++)

    {

       if (a[i]== key)

           return i;

    }

    return -1;

}

int Get::find2(int key,const int a[],int length)

{

    int left =0, right = length - 1;

    while (left<= right)

    {

       int mid =(left + right) / 2;

       if (a[mid]< key)

       {

           left = mid + 1;

       }

       elseif(a[mid] == key)

       {

           return mid;

       }

       else

       {

           right = mid - 1;

       }

    }

    return -1;

}

bool Get::IsSort(int a[],int length)

{

    for (inti = 1;i<length;i++)

    {

       if (a[i- 1] > a[i])

           return false;

    }

    return true;

}

#include<iostream>

#include"Get.h"

using namespace std;

int main()

{

    int a[] = {22,1,66,88,44,32,64 };

    int key;

    cin >>key;

    Get *g = new Get;

    if(g->IsSort(a, 7) == false)

    {

       cout <<"采用递增算法得到的位置"<<endl;

       cout <<g->find1(key, a, 7) <<endl;

    }

    else

    {

       cout <<"采用二分算法得到的位置"<<endl;

       cout <<g->find2(key, a, 7) <<endl;

    }

    delete g;

    g = 0;

    return 0;

}


华北电力大学LSGO软件技术团队成立于2010年09月25日,团队主要以机器学习地理信息系统为主要研究方向,成立几年来为学校培养了大量优秀人才,他们或者就职于IBM、阿里巴巴、网易游戏、百度等IT企业,或者就读于中科院信安所、中科院计算所、中科院自动化所、中国科技大学、北京理工大学、武汉大学、华南理工大学、哈尔滨工业大学、华北电力大学等著名高校。

今年(2016年07月)毕业的李文乔同学保送到北京理工大学,安晟同学继续在华北电力大学读研究生,期间华硕公司,小米公司也希望团队推荐学生就业,综上,来LSGO软件技术团队学习可作为驻保高校学生,打发课余时间的一个不错选择。

如果对我们感兴趣,可以与我联系,通过考核后即可成为我们的一员。

请阅读以下代码(C#),得到联系方式:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多