所以,我一直在敲我的头大约三天,现在试图找出如何让这个工作。双端队列索引
我的任务是编写一个双端队列。我对这部分没有任何问题。
,我遇到了这个问题的事实是,给定一个指标时,我们必须有支架运营工作。所以,如果我把6放在后面,我想要[2] [2]回来,等等。但是,我不知道什么方程会起作用。
我已经尝试了一切,我GOOGLE了它,我已要求从谁已经在类人的帮助,这之前从未在课堂上这样做没有帮助那里。没有人讨论过这个问题,每个人似乎都使用二维而不是搞乱一个索引。
我知道方程可能是很简单,但在到期日是星期五的早晨,我还是要调试和运行单元测试。
这里是它会在被使用的功能:
template<typename generic>
generic& Deque<generic>::operator[](unsigned int p)
{
return m_data[dq_index]->operator[](block_index);
}
类:
#include<stdexcept>
using std::out_of_range;
#include "block.h"
template<typename generic>
class Deque
{
public:
Deque();
Deque(unsigned int n);
Deque(Deque& d);
~Deque();
void push_front(generic x);
void pop_front();
void push_back(generic x);
void pop_back();
void clear();
Deque& operator=(const Deque& d);
generic& operator[](unsigned int p);
const generic& operator[](unsigned int p) const;
unsigned int size() const;
unsigned int block_size() const;
bool empty() const;
private:
Block<generic>** m_data;
unsigned int m_size;
unsigned int m_blocks;
unsigned int m_block_size;
};
分配:http://web.mst.edu/~buechler/datastructures/dequeclass.htm
你能否发布`Deque`的类定义?你的问题意味着约束不属于deque的基本定义的一部分,所以我们需要看到更多你正在使用的东西。 – zwol 2011-02-15 16:16:09
双重结局与两个维度无关,我不理解“我把6放到了我想得到[2] [2]回来”的部分。任何机会的任务确切的措辞? – Steve314 2011-02-15 16:16:37
[2] [2]就像块2,索引2. – user618137 2011-02-15 16:21:03