# Heap::Elem::Str - String Heap Elements - perldoc - [phpMan]

## NAME
    [Heap::Elem::Str](https://www.chedong.com/phpMan.php/perldoc/Heap%3A%3AElem%3A%3AStr/markdown) - String Heap Elements

## SYNOPSIS
      use [Heap::Elem::Str](https://www.chedong.com/phpMan.php/perldoc/Heap%3A%3AElem%3A%3AStr/markdown)( StrElem );
      use [Heap::Fibonacci](https://www.chedong.com/phpMan.php/perldoc/Heap%3A%3AFibonacci/markdown);

      my $heap = [Heap::Fibonacci](https://www.chedong.com/phpMan.php/perldoc/Heap%3A%3AFibonacci/markdown)->new;
      my $elem;

      foreach $i ( 'aa'..'bz' ) {
          $elem = StrElem( $i );
          $heap->add( $elem );
      }

      while( defined( $elem = $heap->extract_top ) ) {
          print "Smallest is ", $elem->val, "\n";
      }

## DESCRIPTION
    [Heap::Elem::Str](https://www.chedong.com/phpMan.php/perldoc/Heap%3A%3AElem%3A%3AStr/markdown) is used to wrap string values into an element that can be managed on a heap. The
    top of the heap will have the smallest element still remaining. (See [Heap::Elem::StrRev](https://www.chedong.com/phpMan.php/perldoc/Heap%3A%3AElem%3A%3AStrRev/markdown) if you
    want the heap to always return the largest element.)

    The details of the Elem interface are described in [Heap::Elem](https://www.chedong.com/phpMan.php/perldoc/Heap%3A%3AElem/markdown).

    The details of using a Heap interface are described in Heap.

## AUTHOR
    John Macdonald, <john@perlwolf.com>

## COPYRIGHT
    Copyright 1998-2007, O'Reilly & Associates.

    This code is distributed under the same copyright terms as perl itself.

## SEE ALSO
    [Heap(3)](https://www.chedong.com/phpMan.php/man/Heap/3/markdown), Heap::[Elem(3)](https://www.chedong.com/phpMan.php/man/Elem/3/markdown), [Heap::Elem](https://www.chedong.com/phpMan.php/perldoc/Heap%3A%3AElem/markdown)::[StrRev(3)](https://www.chedong.com/phpMan.php/man/StrRev/3/markdown).

