Acme-Rautavistic-Sort

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "config" : {
               "Dist::Zilla::Plugin::Git::Check" : {
                  "untracked_files" : "die"
               },
               "Dist::Zilla::Role::Git::DirtyFiles" : {
                  "allow_dirty" : [
                     "Changes",
                     "dist.ini"
                  ],
                  "allow_dirty_match" : [],
                  "changelog" : "Changes"
               },
               "Dist::Zilla::Role::Git::Repo" : {
                  "repo_root" : "."
               }
            },
            "name" : "@SCHWIGON/@Git/Check",
            "version" : "2.036"
         },
         {
            "class" : "Dist::Zilla::Plugin::Git::Commit",

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::Git::Commit" : {
                  "add_files_in" : [],
                  "commit_msg" : "v%v%n%n%c"
               },
               "Dist::Zilla::Role::Git::DirtyFiles" : {
                  "allow_dirty" : [
                     "Changes",
                     "dist.ini"
                  ],
                  "allow_dirty_match" : [],
                  "changelog" : "Changes"
               },
               "Dist::Zilla::Role::Git::Repo" : {
                  "repo_root" : "."
               },
               "Dist::Zilla::Role::Git::StringFormatter" : {
                  "time_zone" : "local"
               }
            },
            "name" : "@SCHWIGON/@Git/Commit",
            "version" : "2.036"
         },
         {
            "class" : "Dist::Zilla::Plugin::Git::Tag",
            "config" : {
               "Dist::Zilla::Plugin::Git::Tag" : {
                  "branch" : null,
                  "changelog" : "Changes",
                  "signed" : 0,
                  "tag" : "v0.03",
                  "tag_format" : "v%v",
                  "tag_message" : "v%v"
               },
               "Dist::Zilla::Role::Git::Repo" : {
                  "repo_root" : "."
               },
               "Dist::Zilla::Role::Git::StringFormatter" : {
                  "time_zone" : "local"

META.yml  view on Meta::CPAN

    -
      class: Dist::Zilla::Plugin::Git::Check
      config:
        Dist::Zilla::Plugin::Git::Check:
          untracked_files: die
        Dist::Zilla::Role::Git::DirtyFiles:
          allow_dirty:
            - Changes
            - dist.ini
          allow_dirty_match: []
          changelog: Changes
        Dist::Zilla::Role::Git::Repo:
          repo_root: '.'
      name: '@SCHWIGON/@Git/Check'
      version: 2.036
    -
      class: Dist::Zilla::Plugin::Git::Commit
      config:
        Dist::Zilla::Plugin::Git::Commit:
          add_files_in: []
          commit_msg: v%v%n%n%c
        Dist::Zilla::Role::Git::DirtyFiles:
          allow_dirty:
            - Changes
            - dist.ini
          allow_dirty_match: []
          changelog: Changes
        Dist::Zilla::Role::Git::Repo:
          repo_root: '.'
        Dist::Zilla::Role::Git::StringFormatter:
          time_zone: local
      name: '@SCHWIGON/@Git/Commit'
      version: 2.036
    -
      class: Dist::Zilla::Plugin::Git::Tag
      config:
        Dist::Zilla::Plugin::Git::Tag:
          branch: ~
          changelog: Changes
          signed: 0
          tag: v0.03
          tag_format: v%v
          tag_message: v%v
        Dist::Zilla::Role::Git::Repo:
          repo_root: '.'
        Dist::Zilla::Role::Git::StringFormatter:
          time_zone: local
      name: '@SCHWIGON/@Git/Tag'
      version: 2.036

lib/Acme/Rautavistic/Sort.pm  view on Meta::CPAN

Algorithm Description Dropsort is run on an ordered list of numbers by
examining the numbers in sequence, beginning with the second number in
the list. If the number being examined is less than the number before
it, drop it from the list. Otherwise, it is in sorted order, so keep
it. Then move to the next number.

After a single pass of this algorithm, the list will only contain
numbers that are at least as large as the previous number in the
list. In other words, the list will be sorted!  Analysis Dropsort
requires exactly n-1 comparisons to sort a list of length n, making
this an O(n) algorithm, superior to the typical O(n logn) algorithms
commonly used in most applications.

Dropsort is what is known in the computer science field as a lossy
algorithm. It produces a fast result that is correct, but at the cost
of potentially losing some of the input data. Although to those not
versed in the arts of computer science this may seem undesirable,
lossy algorithms are actually a well-accepted part of computing. An
example is the popular JPEG image compression format, which enjoys
widespread use because of its versatility and usefulness. In similar
fashion, dropsort promises to revolutionise the sorting of data in



( run in 0.898 second using v1.01-cache-2.11-cpan-b61123c0432 )