Brian Fiete 5 vuotta sitten
vanhempi
commit
305d61f083
1 muutettua tiedostoa jossa 32 lisäystä ja 32 poistoa
  1. 32 32
      BeefySysLib/util/BinaryHeap.h

+ 32 - 32
BeefySysLib/util/BinaryHeap.h

@@ -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;
 	}