mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 03:28:20 +02:00
Linux fixes
This commit is contained in:
parent
810c7b843b
commit
305d61f083
1 changed files with 32 additions and 32 deletions
|
@ -13,12 +13,12 @@ private:
|
|||
if (childIdx > 0)
|
||||
{
|
||||
int32 parentIdx = (childIdx - 1) / 2;
|
||||
if (mVals[childIdx] > mVals[parentIdx])
|
||||
if (this->mVals[childIdx] > this->mVals[parentIdx])
|
||||
{
|
||||
// swap parent and child
|
||||
T t = mVals[parentIdx];
|
||||
mVals[parentIdx] = mVals[childIdx];
|
||||
mVals[childIdx] = t;
|
||||
T t = this->mVals[parentIdx];
|
||||
this->mVals[parentIdx] = this->mVals[childIdx];
|
||||
this->mVals[childIdx] = t;
|
||||
HeapifyUp(parentIdx);
|
||||
}
|
||||
}
|
||||
|
@ -30,25 +30,25 @@ private:
|
|||
int32 leftChildIdx = 2 * parentIdx + 1;
|
||||
int32 rightChildIdx = leftChildIdx + 1;
|
||||
int32 largestChildIdx = parentIdx;
|
||||
if (leftChildIdx < mSize && mVals[leftChildIdx] > mVals[largestChildIdx])
|
||||
if (leftChildIdx < this->mSize && this->mVals[leftChildIdx] > this->Vals[largestChildIdx])
|
||||
{
|
||||
largestChildIdx = leftChildIdx;
|
||||
}
|
||||
if (rightChildIdx < mSize && mVals[rightChildIdx] > mVals[largestChildIdx])
|
||||
if (rightChildIdx < this->mSize && this->mVals[rightChildIdx] > this->mVals[largestChildIdx])
|
||||
{
|
||||
largestChildIdx = rightChildIdx;
|
||||
}
|
||||
if (largestChildIdx != parentIdx)
|
||||
{
|
||||
T t = mVals[parentIdx];
|
||||
mVals[parentIdx] = mVals[largestChildIdx];
|
||||
mVals[largestChildIdx] = t;
|
||||
T t = this->mVals[parentIdx];
|
||||
this->mVals[parentIdx] = this->mVals[largestChildIdx];
|
||||
this->mVals[largestChildIdx] = t;
|
||||
HeapifyDown(largestChildIdx);
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
BinaryMaxHeap() : Array()
|
||||
BinaryMaxHeap() : Array<T>()
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -56,22 +56,22 @@ public:
|
|||
/// Add an item to the heap
|
||||
void Add(T item)
|
||||
{
|
||||
Array::Add(item);
|
||||
HeapifyUp(mSize - 1);
|
||||
Array<T>::Add(item);
|
||||
HeapifyUp(this->mSize - 1);
|
||||
}
|
||||
|
||||
/// Get the item of the root
|
||||
T Peek()
|
||||
{
|
||||
return mVals[0];
|
||||
return this->mVals[0];
|
||||
}
|
||||
|
||||
/// Extract the item of the root
|
||||
T Pop()
|
||||
{
|
||||
T item = mVals[0];
|
||||
mSize--;
|
||||
mVals[0] = mVals[mSize];
|
||||
T item = this->mVals[0];
|
||||
this->mSize--;
|
||||
this->mVals[0] = this->mVals[this->mSize];
|
||||
HeapifyDown(0);
|
||||
return item;
|
||||
}
|
||||
|
@ -86,12 +86,12 @@ private:
|
|||
if (childIdx > 0)
|
||||
{
|
||||
int32 parentIdx = (childIdx - 1) / 2;
|
||||
if (mVals[childIdx] < mVals[parentIdx])
|
||||
if (this->mVals[childIdx] < this->mVals[parentIdx])
|
||||
{
|
||||
// swap parent and child
|
||||
T t = mVals[parentIdx];
|
||||
mVals[parentIdx] = mVals[childIdx];
|
||||
mVals[childIdx] = t;
|
||||
T t = this->mVals[parentIdx];
|
||||
this->mVals[parentIdx] = this->mVals[childIdx];
|
||||
this->mVals[childIdx] = t;
|
||||
HeapifyUp(parentIdx);
|
||||
}
|
||||
}
|
||||
|
@ -103,25 +103,25 @@ private:
|
|||
int32 leftChildIdx = 2 * parentIdx + 1;
|
||||
int32 rightChildIdx = leftChildIdx + 1;
|
||||
int32 largestChildIdx = parentIdx;
|
||||
if (leftChildIdx < mSize && mVals[leftChildIdx] < mVals[largestChildIdx])
|
||||
if (leftChildIdx < this->mSize && this->mVals[leftChildIdx] < this->mVals[largestChildIdx])
|
||||
{
|
||||
largestChildIdx = leftChildIdx;
|
||||
}
|
||||
if (rightChildIdx < mSize && mVals[rightChildIdx] < mVals[largestChildIdx])
|
||||
if (rightChildIdx < this->mSize && this->mVals[rightChildIdx] < this->mVals[largestChildIdx])
|
||||
{
|
||||
largestChildIdx = rightChildIdx;
|
||||
}
|
||||
if (largestChildIdx != parentIdx)
|
||||
{
|
||||
T t = mVals[parentIdx];
|
||||
mVals[parentIdx] = mVals[largestChildIdx];
|
||||
mVals[largestChildIdx] = t;
|
||||
T t = this->mVals[parentIdx];
|
||||
this->mVals[parentIdx] = this->mVals[largestChildIdx];
|
||||
this->mVals[largestChildIdx] = t;
|
||||
HeapifyDown(largestChildIdx);
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
BinaryMinHeap() : Array()
|
||||
BinaryMinHeap() : Array<T>()
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -129,22 +129,22 @@ public:
|
|||
/// Add an item to the heap
|
||||
void Add(T item)
|
||||
{
|
||||
Array::Add(item);
|
||||
HeapifyUp(mSize - 1);
|
||||
Array<T>::Add(item);
|
||||
HeapifyUp(this->mSize - 1);
|
||||
}
|
||||
|
||||
/// Get the item of the root
|
||||
T Peek()
|
||||
{
|
||||
return mVals[0];
|
||||
return this->mVals[0];
|
||||
}
|
||||
|
||||
/// Extract the item of the root
|
||||
T Pop()
|
||||
{
|
||||
T item = mVals[0];
|
||||
mSize--;
|
||||
mVals[0] = mVals[mSize];
|
||||
T item = this->mVals[0];
|
||||
this->mSize--;
|
||||
this->mVals[0] = this->mVals[this->mSize];
|
||||
HeapifyDown(0);
|
||||
return item;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue