标签: vector

R查找列中唯一记录的数量

可能重复:
计算数据框中的唯一项

嗨,我的数据在列中多次包含相同的项目

A栏a b c a a c

但该专栏有超过一百万条记录.

如何在同一列中找到唯一数量的元素数?有一个简单的方法吗?

谢谢.

r vector

-3
推荐指数
1
解决办法
1982
查看次数

使用矢量 C++ 的双打优先队列

我需要使用 STL 向量为优先级队列编写代码

我被分配了使用向量实现优先级队列的任务,之前我使用列表实现了一个队列,这非常简单,因为列表为我提供了我需要的所有功能。除非我遗漏了优先级队列所没有的东西?

cplusplus.com 上对 Priority Queue 的参考说明:在底层容器(向量)上调用 push_back 和对 push_heap 调用一次(我假设是算法),我不确定如何实现 push_heap 和 pop_heap 或者我是否需要根本。

作业特别要求向量

我正在寻找一个很好的实现/解释。

到目前为止,这是 mo 代码:

.cpp

#include"PriorityQueue.h"
#include <algorithm>

PriorityQueue::PriorityQueue(){

}
void PriorityQueue::push(double val){
    s.push_back(val);

}
void PriorityQueue::pop(){


}
double PriorityQueue::front() const{
    return s.front();
}
double PriorityQueue::back() const{
    return s.back();
}
Run Code Online (Sandbox Code Playgroud)

。H

#ifndef PRIORITYQUEUE_H
#define PRIORITYQUEUE_H
#include <vector>
using std::vector;
class PriorityQueue{
public:
    PriorityQueue();
    void push(double val);
    void pop();
    double front() const;
    double back() const;
private:
    vector<double> s;
};
#endif // !PRIORITYQUEUE_H
Run Code Online (Sandbox Code Playgroud)

如果我需要编写代码来跟踪顶部和底部索引,我可能会缺少基本功能,我只是有点卡住了,没有时间浪费尝试不同解决方案的负载。

c++ vector priority-queue

-3
推荐指数
1
解决办法
1981
查看次数

c ++ std :: vector"this"是"nullptr"

由于某种原因,我不能在datacenter.cpp中使用vector _vec.它说" 这个 "是"nullptr"

请帮助,谢谢<3

datacenter.h

#pragma once
#include <iostream>
#include <vector>

class datacenter
{
public:
    datacenter();
    ~datacenter();

    void get_elements();

    std::vector<float> _vec;
};
Run Code Online (Sandbox Code Playgroud)

datacenter.cpp

#include "datacenter.h"

datacenter::datacenter(){}

void datacenter::get_elements()
{
if (_vec.empty()) { //<---- the error appears here
    std::cout << "empty" << std::endl;
    }
}

datacenter::~datacenter(){}
Run Code Online (Sandbox Code Playgroud)

main.cpp中

#include <iostream>
#include <vector>
#include "datacenter.h"

class datacenter;

int main()
{
std::unique_ptr<datacenter> dc;
dc->get_elements();
}
Run Code Online (Sandbox Code Playgroud)

c++ smart-pointers vector init nullptr

-3
推荐指数
1
解决办法
689
查看次数

矢量与reinterpret_cast

以下代码仅向vector插入一个值col。该代码是从DBMS代码库(用于导入文件)中提取的,特别是从1

该代码使用void *能够读取任何字段类型(int,float等)。

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

void add(std::vector<void*> &col){
  reinterpret_cast<std::vector<int>&>(col).push_back( 1);
  reinterpret_cast<std::vector<int>&>(col).push_back( 2);
  reinterpret_cast<std::vector<int>&>(col).push_back( 13);
}
int main() {
 std::vector<void*> col;

 add(col);
 cout << col.size() << endl;
 for(int i=0;i<col.size();i++)
    cout <<reinterpret_cast<std::vector<int>&> (col)[i] <<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不确定此代码如何工作?

c++ vector reinterpret-cast

-3
推荐指数
1
解决办法
219
查看次数

如何在C ++中的向量中找到子字符串

我想知道如何查找子字符串在包含行(字符串组)的向量中出现的次数。

c++ string vector

-3
推荐指数
1
解决办法
52
查看次数

将向量的size()强制转换为int不起作用

我正在实时学习C ++,并且对向量有问题,所以我正在编写一些使用向量使它们熟悉的程序。

我遵循了这篇文章中有关打印出向量的size()调用值的建议:

如何获取std :: vector的大小作为int?

我的代码是一个简单的C ++代码:

#include <vector>

int main(int argc, char ** argv) {
   /* create an int vector of size 10, initialized to 0 */
   std::vector<int> int_list[10];
   int int_list_size;

   int_list_size = static_cast<int>(int_list.size()); // <-- compilation error here
} // End main()
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu 16.04上出现此错误:

"error: request for member 'size' in 'int_list', which is of non-class type 'std::vector<int> [10]'
Run Code Online (Sandbox Code Playgroud)

由于向量int_list的大小为10,因此size()不应该返回10,然后我可以将其转换为int吗?

c++ vector

-3
推荐指数
1
解决办法
93
查看次数

如何声明对&lt;int,int&gt; :: first

我想知道是否可以将一对[int,int]声明为宏。

所以我想知道我是否可以像

#define X pair<int,int>::first
#define Y pair<int,int>::second

int main()
{
    int a[10][10];
    pair<int,int> arr;
    int sum=0;
    ...
    for(auto p: arr)
        sum += a[Y][X] // a[p.second][p.first]
}
Run Code Online (Sandbox Code Playgroud)

但这是错误的。我可以声明一个可以这样表达的宏吗?

c++ stl vector

-3
推荐指数
1
解决办法
78
查看次数

使用push_back将变量存储在向量中

我正在尝试使用push_back和for循环将部分和存储在向量中,但是由于某种原因push_back会导致无限循环。

cin >> n;

vector <int> partialSums(n);

for (i = 1; i <= partialSums.size(); ++i) {
    sum = sum + i;
    partialSums.push_back(sum);
    cout << sum << endl;
}

return 0;
Run Code Online (Sandbox Code Playgroud)

c++ vector push-back

-3
推荐指数
1
解决办法
48
查看次数

为什么矢量初始化会使数组中的所有对象都相同?

我正在开发一个程序来帮助我进行世界建设,该计划会根据用户选择的国家(德语,拉丁语,东部)随机生成定居点(村庄,村庄,城镇,城市)。我已经集成了一种定居者生成系统,以在定居点中创建定居者,每个定居者使用构造函数并将结果作为对象保存在向量中,每个定居者均具有名称,年龄,性别和财富。不幸的是,该程序创建了一个完整的克隆种群,用相同名称,年龄等的移居者填充了载体。

我曾尝试在for循环中初始化Settler类的构造函数,但除了在您每次请求其中一个有关定居者的信息时,会导致获得一组不同的定居者之外,它没有做任何更改。

定居者构造函数:

class Settler {
  public:
  int settlerAge;
  string settlerName;
  string settlerGender;
  string settlerWealth;

  Settler(int type, int nation, int quantity) {
    int result{};
    string givenName{};
    string surName{};
    // Latin Male First Name
    string latinMaleName[15] = {"Faustus", "Mamercus", "Mettius", "Appius", "Hostus", "Quintus", "Cossus", "Secundus", "Servius", "Gallio", "Tettienus", "Petronius", "Paesentius", "Pescunnius", "Clodius"};
    // Latin Surname
    string latinSurname[30] = {"Natalinus", "Lucilianus", "Crispian", "Laetinianus", "Falco", "Otho", "Plautius", "Pascentius", "Lepidus", "Moderatus", "Caeparius", "Caetronius", "Hostilius", "Aedinius", "Papius", "Gennadia", "Triaria", "Planta","Amantia", "Mico", "Opilio", "Augusta", "Laevina", "Longina", …
Run Code Online (Sandbox Code Playgroud)

c++ constructor vector c++17

-3
推荐指数
1
解决办法
129
查看次数

无法推送和输出向量

尝试存储质数并输出它们,但控制台是空的,什么也没有发生

在此处输入图片说明

int main() {
    vector <int> v;
    int n = 1000;
    
    int order; // Nth order
    //cin >> order;
    primes(n, v);
    for (auto i = v.begin(); i != v.end(); ++i)
        cout << *i << ' ';
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ primes vector

-3
推荐指数
1
解决办法
48
查看次数