i am only familiar with c++...i need this .py syntax converted to c++.. i want i
ID: 3532175 • Letter: I
Question
i am only familiar with c++...i need this .py syntax converted to c++.. i want it to use a vector... i could also use some .cpp code to test its funtionality but i would take that as a bonus..
# include <iostream>
# include <vector>
def __init__(self, items=None):
self.heap = [None]
if items is None:
self.heap_size = 0
else:
self.heap += items
self.heap_size = len(items)
self._build_heap()
def size(self):
return self.heap_size
def insert(self, item):
self.heap_size += 1
self.heap.append(None)
position = self.heap_size
parent = position
while parent > 0 and self.heap[parent] < item:
self.heap[position] = self.heap[parent]
position = parent
parent = position
self.heap[position] = item
def delete_max(self):
if self.heap_size > 0:
max_item = self.heap[1]
self.heap[1] = self.heap[self.heap_size]
self.heap_size -= 1
self.heap.pop()
if self.heap_size > 0:
self._heapify(1)
return max_item
def _heapify(self, position):
item = self.heap[position]
while position * 2 <= self.heap_size:
child = position * 2
if right child, determine maximum of two children
if (child != self.heap_size and
self.heap[child+1] > self.heap[child]):
child += 1
if self.heap[child] > item:
self.heap[position] = self.heap[child]
position = child
else:
break
self.heap[position] = item
def _build_heap(self):
# 1 through self.heap_size
for i in range(self.heap_size // 2, 0, -1): # stops at 1
self._heapify(i)
Explanation / Answer
Use shedskin an online python to c++ converter
http://shed-skin.blogspot.in/
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.