C++语言基础 例程 范型编程简介

简介: 贺老师的教学链接  本课讲解曾经的查找//曾经的查找:顺序查找#include <iostream>using namespace std;int main( ){ int d[10]={2,7,4,8,12,1,3,5,9,11},i,key,index=-1; cout<<"Input a key you want to search:\

贺老师的教学链接  本课讲解


曾经的查找

//曾经的查找:顺序查找
#include <iostream>
using namespace std;
int main( )
{
    int d[10]={2,7,4,8,12,1,3,5,9,11},i,key,index=-1;
    cout<<"Input a key you want to search:\n";
    cin>>key;
    for(i=0; i<10; i++)
        if(key == d[i])
        {
            index = i;
            break;
        }
    if(index >= 0)
        cout<<"The index of the key is "<<index<<".\n";
    else
        cout<<"Not found.\n";
    return 0;
}

//曾经的查找:有序表中的二分查找
#include <iostream>
using namespace std;
int main()
{
    int d[10] = {1,3,9,12,32,41,45,62,75,77};
    int low, high,mid,key,index=-1;
    cin>>key;
    low=0,high=9;
    while(low<=high)
    {
        mid=(low+high)/2;
        if(d[mid]==key)
        {
            index=mid;
            break;
        }
        else if(d[mid]>key)
            high=mid-1;
        else
            low=mid+1;
    }
    if(index >= 0)
        cout<<"在:"<<index<<".\n";
    else
        cout<<"没有找到.\n";
}

可以这样做
//可以这样做:数组上的find函数
#include <iostream>
#include <algorithm>
using namespace std;
#define SIZE 100
int iarray[SIZE];
int main()
{
    iarray[20] = 50;
    int* ip = find(iarray, iarray + SIZE, 50);
    if (ip == iarray + SIZE)
        cout << "50 not found in array" << endl;
    else
        cout << *ip << " found in array" << endl;
    return 0;
}

//可以这样做:利用向量容器、迭代器、算法
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> intVector(100);
int main()
{
    intVector[20] = 50;
    vector<int>::iterator intIter =
        find(intVector.begin(), intVector.end(), 50);
    if (intIter != intVector.end())
        cout << "Vector contains value " << *intIter << endl;
    else
        cout << "Vector does not contain 50" << endl;
    return 0;
}


目录
相关文章
|
存储 负载均衡 算法
基于 C++ 语言的迪杰斯特拉算法在局域网计算机管理中的应用剖析
在局域网计算机管理中,迪杰斯特拉算法用于优化网络路径、分配资源和定位故障节点,确保高效稳定的网络环境。该算法通过计算最短路径,提升数据传输速率与稳定性,实现负载均衡并快速排除故障。C++代码示例展示了其在网络模拟中的应用,为企业信息化建设提供有力支持。
427 15
|
12月前
|
存储 C++
C++语言中指针变量int和取值操作ptr详细说明。
总结起来,在 C++ 中正确理解和运用 int 类型地址及其相关取值、设定等操纵至关重要且基础性强:定义 int 类型 pointer 需加星号;初始化 pointer 需配合 & 取址;读写 pointer 执向之处需配合 * 解引用操纵进行。
784 12
|
存储 算法 安全
企业员工数据泄露防范策略:基于 C++ 语言的布隆过滤器算法剖析[如何防止员工泄密]
企业运营过程中,防范员工泄密是信息安全领域的核心议题。员工泄密可能致使企业核心数据、商业机密等关键资产的流失,进而给企业造成严重损失。为应对这一挑战,借助恰当的数据结构与算法成为强化信息防护的有效路径。本文专注于 C++ 语言中的布隆过滤器算法,深入探究其在防范员工泄密场景中的应用。
335 8
|
存储 缓存 C++
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
1043 1
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
|
存储 机器学习/深度学习 编译器
【C++终极篇】C++11:编程新纪元的神秘力量揭秘
【C++终极篇】C++11:编程新纪元的神秘力量揭秘
|
C语言 C++
C++ 简介
C++ 简介
361 21
|
存储 算法 C++
深入浅出 C++ STL:解锁高效编程的秘密武器
C++ 标准模板库(STL)是现代 C++ 的核心部分之一,为开发者提供了丰富的预定义数据结构和算法,极大地提升了编程效率和代码的可读性。理解和掌握 STL 对于 C++ 开发者来说至关重要。以下是对 STL 的详细介绍,涵盖其基础知识、发展历史、核心组件、重要性和学习方法。
|
存储 安全 算法
深入理解C++模板编程:从基础到进阶
在C++编程中,模板是实现泛型编程的关键工具。模板使得代码能够适用于不同的数据类型,极大地提升了代码复用性、灵活性和可维护性。本文将深入探讨模板编程的基础知识,包括函数模板和类模板的定义、使用、以及它们的实例化和匹配规则。
|
存储 算法 Linux
【c++】STL简介
本文介绍了C++标准模板库(STL)的基本概念、组成部分及学习方法,强调了STL在提高编程效率和代码复用性方面的重要性。文章详细解析了STL的六大组件:容器、算法、迭代器、仿函数、配接器和空间配置器,并提出了学习STL的三个层次,旨在帮助读者深入理解和掌握STL。
832 0
|
消息中间件 存储 安全