Skip to content

FedericoStra/Sorting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c84b30c · Nov 10, 2022

History

12 Commits
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Mar 21, 2014
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 29, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 10, 2022
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012
Nov 28, 2012

Repository files navigation

Sorting

Comparison of various sorting algorithms.

What is it?

sorting is a simple modular program that debugs various sorting algorithms in order to spot advantages and drawbacks of each one. It consists of a main program, sorting.c, which executes the various algorithms while keeping track of many operations and resource usage.

It currently displays:

  • time,
  • comparisons,
  • swappings,
  • writes,
  • recursion depth,
  • space,
  • memory allocations.

The algorithms implemented are divided in two groups depending on their performances:

  • fast:
    • comb_sort,
    • heap_sort,
    • merge_sort,
    • quick_sort,
    • quick_fast_sort,
    • shell_sort,
    • ciura_shell_sort;
  • slow:
    • bubble_sort,
    • cocktail_sort,
    • gnome_sort,
    • insertion_sort,
    • selection_sort.

sorting performs sorting on different types of arrays in order to emphasize different characteristics of the algorithms (such as adaptiveness).

It currently sorts arrays of length - type:

  • 5000 - decreasing,
  • 15000 - decreasing,
  • 25000 - decreasing,
  • 5000 - almost sorted,
  • 15000 - almost sorted,
  • 25000 - almost sorted,
  • 5000 - random,
  • 25000 - random,
  • 50000 - random,
  • 100000 - random,
  • 300000 - random,
  • 500000 - random.