From 108def23c7bb83802198724365edcb5a7e6dc884 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 9 Apr 2023 23:04:10 +0300 Subject: Update content for gemtext --- .../2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi | 2 ++ ...2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi.tpl | 2 ++ gemfeed/atom.xml | 4 +++- index.gmi | 2 +- uptime-stats.gmi | 2 +- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gemfeed/2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi b/gemfeed/2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi index 13672636..31fa782b 100644 --- a/gemfeed/2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi +++ b/gemfeed/2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi @@ -189,6 +189,8 @@ func Sleep[V ds.Integer](a ds.ArrayList[V]) ds.ArrayList[V] { } ``` +This Go code implements the sleep sort algorithm using generics and goroutines. The main function `Sleep[V ds.Integer](a ds.ArrayList[V]) ds.ArrayList[V]` takes a generic `ArrayList` as input and returns a sorted `ArrayList`. The code creates a separate goroutine for each element in the input array, sleeps for a duration proportional to the element's value, and then sends the element to a channel. Another goroutine waits for all the sleeping goroutines to finish and then closes the channel. The sorted result `ArrayList` is constructed by appending the elements received from the channel in the order they arrive. The `sync.WaitGroup` is used to synchronize goroutines and ensure that all of them have completed before closing the channel. + ### Testing For testing, we only allow values up to 10, as otherwise, it would take too long to finish: diff --git a/gemfeed/2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi.tpl b/gemfeed/2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi.tpl index 1bbc1120..98daf815 100644 --- a/gemfeed/2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi.tpl +++ b/gemfeed/2023-04-09-algorithms-and-data-structures-in-golang-part-1.gmi.tpl @@ -189,6 +189,8 @@ func Sleep[V ds.Integer](a ds.ArrayList[V]) ds.ArrayList[V] { } ``` +This Go code implements the sleep sort algorithm using generics and goroutines. The main function `Sleep[V ds.Integer](a ds.ArrayList[V]) ds.ArrayList[V]` takes a generic `ArrayList` as input and returns a sorted `ArrayList`. The code creates a separate goroutine for each element in the input array, sleeps for a duration proportional to the element's value, and then sends the element to a channel. Another goroutine waits for all the sleeping goroutines to finish and then closes the channel. The sorted result `ArrayList` is constructed by appending the elements received from the channel in the order they arrive. The `sync.WaitGroup` is used to synchronize goroutines and ensure that all of them have completed before closing the channel. + ### Testing For testing, we only allow values up to 10, as otherwise, it would take too long to finish: diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index 4ee14fa2..fb629b3b 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ - 2023-04-09T22:38:01+03:00 + 2023-04-09T23:03:53+03:00 foo.zone feed To be in the .zone! @@ -230,6 +230,8 @@ http://www.gnu.org/software/src-highlite --> }
+This Go code implements the sleep sort algorithm using generics and goroutines. The main function Sleep[V ds.Integer](a ds.ArrayList[V]) ds.ArrayList[V] takes a generic ArrayList as input and returns a sorted ArrayList. The code creates a separate goroutine for each element in the input array, sleeps for a duration proportional to the element's value, and then sends the element to a channel. Another goroutine waits for all the sleeping goroutines to finish and then closes the channel. The sorted result ArrayList is constructed by appending the elements received from the channel in the order they arrive. The sync.WaitGroup is used to synchronize goroutines and ensure that all of them have completed before closing the channel.
+

Testing



For testing, we only allow values up to 10, as otherwise, it would take too long to finish:
diff --git a/index.gmi b/index.gmi index 906ce6a3..f114b2fc 100644 --- a/index.gmi +++ b/index.gmi @@ -1,6 +1,6 @@ # foo.zone -> This site was generated at 2023-04-09T22:38:01+03:00 by `Gemtexter` +> This site was generated at 2023-04-09T23:03:53+03:00 by `Gemtexter` ``` |\---/| diff --git a/uptime-stats.gmi b/uptime-stats.gmi index 5749c799..6c2c25c2 100644 --- a/uptime-stats.gmi +++ b/uptime-stats.gmi @@ -1,6 +1,6 @@ # My machine uptime stats -> This site was last updated at 2023-04-09T22:38:01+03:00 +> This site was last updated at 2023-04-09T23:03:53+03:00 The following stats were collected via `uptimed` on all of my personal computers over many years and the output was generated by `guprecords`, the global uptime records stats analyser of mine. -- cgit v1.2.3