original_docstring: 
          to keep the attribute of heap unchanged while pop out the root node.
          :param index: the index of value you want to swap
          :return: None
          
docstring: to keep the attribute of heap unchanged while pop out the root node.
docstring_tokens: to keep the attribute of heap unchanged while pop out the root node .
code: def _siftdown(self,index):
          """
          to keep the attribute of heap unchanged while pop out the root node.
          :param index: the index of value you want to swap
          :return: None
          """
          if index < self._count:
              left = 2 * index + 1
              right = 2 * index + 2
              if left < self._count and right < self._count \
                  and self._elements[left] <= self._elements[right] \
                  and self._elements[left] <= self._elements[index]:
                  self._elements[left], self._elements[index] = self._elements[index], self._elements[left]
                  self._siftdown(left)
              elif left < self._count and right < self._count \
                  and self._elements[left] >= self._elements[right] \
                  and self._elements[right] <= self._elements[index]:
                  self._elements[right], self._elements[index] = self._elements[index], self._elements[right]
                  self._siftdown(left)
  
              if left < self._count and right > self._count \
                  and self._elements[left] <= self._elements[index]:
                  self._elements[left], self._elements[index] = self._elements[index], self._elements[left]
                  self._siftdown(left)
code_tokens: def _siftdown ( self , index ) : if index < self . _count : left = 2 * index + 1 right = 2 * index + 2 if left < self . _count and right < self . _count and self . _elements [ left ] <= self . _elements [ right ] and self . _elements [ left ] <= self . _elements [ index ] : self . _elements [ left ] , self . _elements [ index ] = self . _elements [ index ] , self . _elements [ left ] self . _siftdown ( left ) elif left < self . _count and right < self . _count and self . _elements [ left ] >= self . _elements [ right ] and self . _elements [ right ] <= self . _elements [ index ] : self . _elements [ right ] , self . _elements [ index ] = self . _elements [ index ] , self . _elements [ right ] self . _siftdown ( left ) if left < self . _count and right > self . _count and self . _elements [ left ] <= self . _elements [ index ] : self . _elements [ left ] , self . _elements [ index ] = self . _elements [ index ] , self . _elements [ left ] self . _siftdown ( left )
short_docstring: to keep the attribute of heap unchanged while pop out the root node.
short_docstring_tokens: to keep the attribute of heap unchanged while pop out the root node .
comment: """
          to keep the attribute of heap unchanged while pop out the root node.
          :param index: the index of value you want to swap
          :return: None
          """