How to resolve the algorithm Sort stability step by step in the AppleScript programming language
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