c++选择排序插入方法和私有变量

C++ selection sort - insert method and private variables

本文关键字:变量 方法 选择 排序 插入 c++      更新时间:2023-10-16

我正在写一个选择排序程序。我刚刚发布了一些关于std::vector的东西,但是这篇文章是关于另一个主题的。

我能够编译程序,但是当在主方法中调用insert()时,它出现了运行时错误。

My ArrayS使用下面的代码作为复制构造函数,并在创建array时将nElems初始化为0。

[ArrayS.cpp]

ArrayS::ArrayS(int max)
{
    std::vector<long> a;                 
    nElems = 0; 
}
void ArrayS::insert(long value)    // put element into array
      {
      a[nElems] = value;             // insert it
      nElems++;                      // increment size
      }
[ArrayS.h]

private:
std::vector<long> a;
int nElems; 

现在,我需要get/set方法在数组。cpp操作nElems吗?我不确定在c++中如何使用私有变量。

谢谢。

vector跟踪它们的大小。为了提高效率,a[nElems]将假设您的vector足够大以容纳该访问。

看起来你想要:

void ArrayS::insert(long value)    // put element into array
      {
      a.push_back(value);             // insert it AND increment size
      }

看起来你也可以忽略nElems。如果您想要矢量的大小,只需调用a.size()