How to resolve the algorithm Sort stability step by step in the AppleScript programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Sort stability step by step in the AppleScript programming language

Table of Contents

Problem Statement

When sorting records in a table by a particular column or field, a stable sort will always retain the relative order of records that have the same key.

In this table of countries and cities, a stable sort on the second column, the cities, would keep the   US Birmingham   above the   UK Birmingham. (Although an unstable sort might, in this case, place the   US Birmingham   above the   UK Birmingham,   a stable sort routine would guarantee it). Similarly, stable sorting on just the first column would generate UK London as the first item and US Birmingham as the last item   (since the order of the elements having the same first word –   UK or US   – would be maintained).

(This Wikipedia table shows the stability of some common sort routines).

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Sort stability step by step in the AppleScript programming language

Source code in the applescript programming language

set aTable to "UK	London
US	New York
US	Birmingham
UK	Birmingham"

-- -s = stable sort; -t sets the field separator, -k sets the sort "column" range in field numbers.
set stableSortedOnColumn2 to (do shell script ("sort -st'" & tab & "' -k2,2 <<<" & quoted form of aTable))
set stableSortedOnColumn1 to (do shell script ("sort -st'" & tab & "' -k1,1 <<<" & quoted form of aTable))
return "Stable sorted on column 2:" & (linefeed & stableSortedOnColumn2) & (linefeed & linefeed & ¬
    "Stable sorted on column 1:") & (linefeed & stableSortedOnColumn1)


"Stable sorted on column 2:
US	Birmingham
UK	Birmingham
UK	London
US	New York

Stable sorted on column 1:
UK	London
UK	Birmingham
US	New York
US	Birmingham"


  

You may also check:How to resolve the algorithm URL decoding step by step in the Maple programming language
You may also check:How to resolve the algorithm Set puzzle step by step in the C++ programming language
You may also check:How to resolve the algorithm Tokenize a string step by step in the 360 Assembly programming language
You may also check:How to resolve the algorithm 15 puzzle game step by step in the BBC BASIC programming language
You may also check:How to resolve the algorithm Achilles numbers step by step in the RPL programming language