STL数据结构

  • priority_queue

  "C++ reference"上如此解释priority queue:"This context is similar to a heap, where elements can be inserted at any moment, and only the max heap element can be retrieved (the one at the top in the priority queue)."

  这里用个小例子使用下priority_queue:

#include <queue>
#include <iostream>
#include <vector>
#include <functional>

using namespace std;

class comparison{
public:
  bool operator() (const int& lhs, const int&rhs) const
  {
    return lhs < rhs;
  }
};

typedef priority_queue<int,vector<int>,comparison> mycompare;

int main(){

  vector<int> v({2,4,1,12,6,23,4});

  //几种申明方式
  priority_queue<int> first;
  priority_queue<int> second (myints,myints+4);
  priority_queue<int, std::vector<int>, std::greater<int> >
                            third (myints,myints+4);

  mycompare prq(v.begin(), v.end());

  while(!prq.empty()){
        cout << prq.top() << endl;
        prq.pop();
  }

  return 0;
}
时间: 2024-11-05 19:38:16

STL数据结构的相关文章

C++STL之迭代器

迭代器 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围.迭代器就如同一个指针.事实上,C++的指针也是一种迭代器.但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值.例如,一个数组索引,也可以认为是一种迭代器. 迭代器有各种不同的创建方法.程序可能把迭代器作为一个变量创建.一个STL容器类可能为了使用一个特定类型的数据而创建一个迭代器.作为指针,必须能够使用*操作符类获取数据.你还可以使用其他数学操作符如++.典型的,++操作符用来递增迭代器,以访问容器中的下一个对象

STL

转至http://net.pku.edu.cn/~yhf/UsingSTL.htm STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组. 要点 STL算法作为模板函数提供.为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort(). STL另一个重要特性是它不是面向对象的.为了具有足够通用性,STL主要依

三十分钟掌握STL

三十分钟掌握STL 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:[email protected] STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以

STL学习心得

三十分钟掌握STL 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:[email protected] STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以

using STL

这是本小人书.原名是<using stl> STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组. 要点 STL算法作为模板函数提供.为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort(). STL另一个重要特性是它不是面向对象的.为了具有足够通用性,STL主要依赖于模板而不是封装,继承和虚函数(多态

STL讲解报告

三十分钟掌握STL STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组. 要点 STL算法作为模板函数提供.为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort(). STL另一个重要特性是它不是面向对象的.为了具有足够通用性,STL主要依赖于模板而不是封装,继承和虚函数(多态性)——OOP的三个要素.

STL六大组件之——迭代器这个东西

迭代器:除了在其它语言中司空见惯的下标法访问容器元素之外,C++语言提供了一种全新的方法——迭代器(iterator)来访问容器的元素.迭代器其实类似于引用,指向容器中某一元素.换个方式来说,容器就是数据结构的泛指,迭代器就是指针的泛指,可以指向元素.容器相当于一个储藏柜,里面装的许多不同的物品就像是储存的元素,比如面包.啤酒.苹果.现金.要取得各个物体就得用与各个物体向匹配的工具,如取出面包要用盘子.取出啤酒要用杯子.取出苹果要用篮子.取出现金要用钱包.迭代器的作用就相当于取出物品的工具的抽象

三十分钟掌握STL(转)

这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:[email protected] STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数

OpenCV数据结构

1.分类 基本数据结构(basic data types) 辅助数据结构(Helper object) 大型数据结构(Large array object):mat STL数据结构:vector,pair 2.基础数据结构:Point.Scalar.Size.cv::Rect.RotatedRect.Matx 3.点Point 3.1Point构造 cv::Point2i p; //定义点p为2位的整形,例如(x,y) x和y取整形数据 cv::Point3f p; //定义点p为3位的浮点型,