小编use*_*451的帖子

使用stl维护最小堆的简单方法?

对于用户定义的结构,据我所知,这很容易.只是重载操作员<.但是,对于int/float等..,我真的需要重载operator <for int吗?这是我尝试过的:

       #include <iostream>
       #include <algorithm>
       #include <vector>
       using namespace std;

       bool comp(const int& a, const int& b)
       {
          return a<b?false:true;
       }

       int main () 
       {
         int myints[] = {10,20,30,5,15};
         vector<int> v(myints,myints+5);
         vector<int>::iterator it;
         make_heap(v.begin(), v.end(), comp);
         cout << "initial min heap   : " << v.front() << endl;
         for (unsigned i=0; i<v.size(); i++) cout << " " << v[i];
         cout<<endl;

         pop_heap (v.begin(),v.end());
         v.pop_back();
         for (unsigned i=0; i<v.size(); i++) cout << " " << v[i];
         cout<<endl;
       }
Run Code Online (Sandbox Code Playgroud)

结果是:

        initial min …
Run Code Online (Sandbox Code Playgroud)

c++ heap stl min-heap

19
推荐指数
3
解决办法
2万
查看次数

c ++较少的运算符重载,使用哪种方式?

例如:在C++头文件中,如果我定义了一个struct Record,我想用它进行可能的排序,以便我想重载less operator.以下是我在各种代码中注意到的三种方式.我粗略地发现:如果我要放Recordstd::set,map,priority_queue,...容器,第2版的作品(大概3版为好); 如果我要保存Record到a vector<Record> v然后调用make_heap(v.begin(), v.end())等..那么只有版本1工作.

  struct Record
  {
      char c;
      int num;

      //version 1
      bool operator <(const Record& rhs)
      {
         return this->num>rhs.num;
      }

      //version 2
      friend bool operator <(const Record& lhs, const Record& rhs) //friend claim has to be here
      {
         return lhs->num>rhs->num;
      }
  };
Run Code Online (Sandbox Code Playgroud)

在相同的头文件中,例如:

      //version 3
      inline bool operator <(const Record& lhs, const Record& rhs)
      {
         return lhs->num>rhs->num;
      } …
Run Code Online (Sandbox Code Playgroud)

c++ stl operator-overloading

18
推荐指数
2
解决办法
3万
查看次数

如何在HTML,DOM中使用jQuery检测元标记

这是我遇到的一个问题,我使用PHP脚本来获取HTML页面并将HTML内容作为字符串返回给jQuery的AJAX调用.

$.ajax({
type: "POST",
    data: "url="+tar_url,
    url: "curl.php",
    success: function (data, textStatus, jqXHR){
       $("meta", $(data))// not working
       $(data).find("meta") //not working
       $("img",$(data)) //works
       $(data).find("div") //works                  
},
Run Code Online (Sandbox Code Playgroud)

在成功函数回调中,我注意到我可以使用普通选择器来获取div,img,ul等.但是,上述方法都不能选择元标记.

首先,我不知道HTML是否包含任何元标记.如果它包含一些,我想选择它们并解析它们,等等.用jQuery选择那些元标记是不是不可能?

html jquery dom meta-tags

4
推荐指数
1
解决办法
7719
查看次数

标签 统计

c++ ×2

stl ×2

dom ×1

heap ×1

html ×1

jquery ×1

meta-tags ×1

min-heap ×1

operator-overloading ×1