Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #146566 > unrolled thread
| Started by | DFS <nospam@dfs.com> |
|---|---|
| First post | 2019-10-04 13:00 -0400 |
| Last post | 2019-10-15 11:19 -0700 |
| Articles | 20 on this page of 483 — 31 participants |
Back to article view | Back to comp.lang.c
Sort char array DFS <nospam@dfs.com> - 2019-10-04 13:00 -0400
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-04 17:06 +0000
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-04 21:55 +0300
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-04 19:24 -0400
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-05 13:08 +0300
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-04 21:06 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-05 01:21 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-05 01:23 +0100
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-04 20:49 -0400
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-04 20:45 -0400
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-05 13:14 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-05 14:35 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-05 17:12 +0100
Re: Sort char array luser droog <luser.droog@gmail.com> - 2019-10-05 09:26 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-05 17:51 +0100
Re: Sort char array chad <cdalten@gmail.com> - 2019-10-15 09:00 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-15 19:29 +0300
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-05 18:13 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-05 21:09 +0100
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-05 13:22 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-05 21:45 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-06 00:17 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-06 16:32 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-06 15:54 +0100
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-06 08:07 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-06 17:39 +0100
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-06 12:52 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-06 21:26 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-07 01:37 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 01:10 +0100
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-06 17:32 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 02:02 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-07 09:41 +0200
Re: Sort char array mark.bluemel@gmail.com - 2019-10-07 00:39 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 10:59 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-07 13:19 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 12:42 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-07 13:57 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 15:01 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-07 17:42 +0300
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-07 17:20 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-07 19:33 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 18:22 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-08 02:27 +0300
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-07 17:02 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 08:53 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-08 12:28 +0100
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-08 11:47 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-09 02:02 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 00:50 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-10 03:03 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-10 01:51 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-10 10:31 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-10 11:57 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-10 14:24 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-10 14:41 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-10 16:17 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-10 18:09 +0100
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-10 17:38 +0000
Re: Sort char array already5chosen@yahoo.com - 2019-10-10 01:37 -0700
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-10 11:05 -0700
Re: Sort char array Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2019-10-10 14:33 -0400
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-10 12:20 -0700
Re: Sort char array Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2019-10-10 16:00 -0400
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-10 23:43 +0300
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-10 14:12 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-11 01:04 +0300
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-10 22:17 +0000
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-10 15:24 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-10 12:57 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-11 00:53 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-11 00:50 +0100
Re: Sort char array Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2019-10-12 03:42 +0800
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-11 22:16 +0100
Re: Sort char array raltbos@xs4all.nl (Richard Bos) - 2019-10-14 16:08 +0000
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 19:20 +0100
Re: Sort char array Ian Collins <ian-news@hotmail.com> - 2019-10-15 07:40 +1300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 20:24 +0100
Re: Sort char array Ian Collins <ian-news@hotmail.com> - 2019-10-15 08:33 +1300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 20:52 +0100
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-14 16:18 -0700
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-14 23:42 +0000
Re: Sort char array Ian Collins <ian-news@hotmail.com> - 2019-10-15 16:40 +1300
Re: Sort char array chad <cdalten@gmail.com> - 2019-10-15 05:10 -0700
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-14 12:00 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-09 12:33 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 14:22 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-09 15:35 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 16:15 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-09 20:24 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 20:42 +0100
Re: Sort char array already5chosen@yahoo.com - 2019-10-09 10:40 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-09 20:31 +0200
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-09 12:02 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-09 22:21 +0200
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-09 21:31 +0000
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-09 15:35 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-10 00:32 +0300
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-10 10:40 +0200
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-10 10:42 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-10 15:58 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-13 21:37 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-13 19:56 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-14 00:56 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 11:04 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-14 13:33 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-18 10:57 +0100
Re: Sort char array mark.bluemel@gmail.com - 2019-10-18 05:56 -0700
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-18 06:10 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-18 15:24 +0200
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-18 09:41 -0400
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-18 07:20 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-18 15:29 +0100
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-19 06:04 -0700
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-18 13:36 +0000
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-18 15:17 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-18 16:44 +0100
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-18 08:49 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-18 17:56 +0200
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-18 09:03 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-18 19:14 +0200
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-18 23:45 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-18 23:06 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-18 23:45 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-19 00:49 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-19 01:19 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-19 11:16 +0100
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-19 03:56 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-19 13:29 +0100
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-19 08:44 -0400
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-19 14:05 +0100
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-19 07:35 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-19 18:01 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-19 20:14 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-19 23:12 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-20 00:45 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-20 10:24 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 14:39 +0200
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-20 06:11 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 15:36 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-20 14:36 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 16:47 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-20 19:16 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 21:37 +0200
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-20 09:54 -0400
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-19 13:24 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-19 13:40 +0100
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-19 13:13 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-19 13:57 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 15:04 +0200
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-20 06:21 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 15:40 +0200
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-20 07:29 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 16:49 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-20 15:10 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 21:26 +0200
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-20 19:56 +0000
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 23:06 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-20 23:08 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-21 00:25 +0200
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-20 22:33 +0000
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-20 22:57 +0000
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-21 00:14 +0100
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-20 23:48 +0000
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-21 11:20 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-21 12:36 +0100
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-20 22:48 +0000
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-21 01:20 +0200
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-22 18:00 +0200
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-22 10:51 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-22 19:19 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-20 21:27 +0100
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-20 14:46 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-20 23:34 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-18 16:35 +0100
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-18 17:01 +0000
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-18 19:15 +0200
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-18 19:01 +0000
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 13:14 +0200
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-20 11:25 +0000
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-20 15:07 +0200
Re: Sort char array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-10-18 16:58 +0000
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-14 08:06 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-14 19:55 +0300
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-15 03:24 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-15 12:39 +0300
Re: Sort char array already5chosen@yahoo.com - 2019-10-15 04:03 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-15 14:30 +0100
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-18 05:59 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-19 00:31 +0100
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-23 04:46 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-14 12:06 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-11 10:30 +0200
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-11 02:26 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-11 12:41 +0200
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-11 11:34 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-12 12:06 +0200
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-12 11:55 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-13 13:23 +0200
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-13 13:30 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-14 16:13 +0200
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-11 02:00 +0300
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-11 10:33 +0200
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-10 01:01 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-10 11:19 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-10 12:18 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-10 16:15 +0100
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-10 15:32 +0000
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-10 21:03 +0100
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-10 20:36 +0000
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-10 17:16 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-11 03:25 +0100
Re: Sort char array David Kleinecke <dkleinecke@gmail.com> - 2019-10-10 22:36 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-11 12:10 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-12 00:26 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-12 00:44 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-12 12:18 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-12 12:42 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-12 15:00 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-12 15:29 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-12 19:13 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-12 19:04 +0100
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-12 20:13 -0400
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-13 01:36 +0100
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-12 22:52 -0400
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-12 23:06 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-13 10:25 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-13 16:42 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-13 18:03 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-13 19:50 +0200
Re: Sort char array already5chosen@yahoo.com - 2019-10-14 12:27 -0700
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-15 10:26 +0200
Re: Sort char array Ike Naar <ike@sdf.lonestar.org> - 2019-10-14 21:02 +0000
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-14 01:39 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 01:51 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-14 12:16 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 10:45 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-14 13:16 +0300
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-14 03:34 -0700
Lack of language I/O support (was Re: Sort char array, many posts ago) mark.bluemel@gmail.com - 2019-10-14 03:54 -0700
Re: Lack of language I/O support (was Re: Sort char array, many posts ago) scott@slp53.sl.home (Scott Lurndal) - 2019-10-14 13:36 +0000
Re: Lack of language I/O support (was Re: Sort char array, many posts ago) Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2019-10-14 09:49 -0400
Re: Lack of language I/O support (was Re: Sort char array, many posts ago) mark.bluemel@gmail.com - 2019-10-14 07:15 -0700
Re: Lack of language I/O support (was Re: Sort char array, many posts ago) scott@slp53.sl.home (Scott Lurndal) - 2019-10-14 14:55 +0000
Re: Lack of language I/O support (was Re: Sort char array, many posts ago) mark.bluemel@gmail.com - 2019-10-14 08:10 -0700
Re: Lack of language I/O support (was Re: Sort char array, many posts ago) scott@slp53.sl.home (Scott Lurndal) - 2019-10-14 16:21 +0000
Re: Lack of language I/O support (was Re: Sort char array, many posts ago) Siri Cruise <chine.bleu@yahoo.com> - 2019-10-14 09:25 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-14 14:57 +0300
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-14 08:24 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 16:40 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-14 16:17 +0200
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-14 23:45 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-15 00:03 +0100
Re: Sort char array Thiago Adams <thiago.adams@gmail.com> - 2019-10-14 05:30 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-14 16:05 +0300
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-14 07:55 -0700
Re: Sort char array Thiago Adams <thiago.adams@gmail.com> - 2019-10-14 10:58 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 14:36 +0100
Re: Sort char array Thiago Adams <thiago.adams@gmail.com> - 2019-10-14 11:03 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-14 19:28 +0100
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-14 08:17 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-15 00:26 +0300
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-15 11:55 +0300
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-16 04:24 -0700
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-16 07:19 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-16 18:17 +0300
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-17 05:43 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-17 18:01 +0300
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-19 00:39 +0300
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-19 06:00 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-11-08 18:38 +0300
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-11-08 22:03 -0800
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-12 18:49 -0400
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-13 00:25 +0100
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-12 23:44 -0400
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-12 13:45 +0100
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-13 19:05 -0400
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-12 13:16 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-13 00:12 +0100
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-13 14:18 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-13 23:10 +0100
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-14 23:52 -0400
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-15 11:48 -0400
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-15 18:14 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-15 20:31 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-15 20:11 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-15 20:34 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-15 22:05 +0200
Re: Sort char array already5chosen@yahoo.com - 2019-10-15 13:27 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-16 10:11 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-16 12:42 +0200
Re: Sort char array already5chosen@yahoo.com - 2019-10-16 04:02 -0700
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-17 05:51 -0700
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-18 10:18 -0400
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-18 12:05 -0700
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-23 05:42 -0700
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-23 05:02 -0700
Re: Sort char array raltbos@xs4all.nl (Richard Bos) - 2019-10-14 15:32 +0000
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-14 08:57 -0700
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-14 10:13 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-14 23:59 +0300
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-17 06:08 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-10 01:20 -0700
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-10 20:15 -0400
Re: Sort char array already5chosen@yahoo.com - 2019-10-11 04:00 -0700
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-11 07:53 -0400
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-11 11:20 -0400
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-11 11:16 -0700
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-11 14:43 -0400
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-11 11:51 -0700
Re: Sort char array raltbos@xs4all.nl (Richard Bos) - 2019-10-12 07:46 +0000
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-12 09:49 -0400
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-12 12:29 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-12 12:20 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-12 13:38 +0200
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-12 12:17 -0700
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-12 20:20 -0400
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-12 20:39 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-13 21:32 +0300
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-14 07:38 -0400
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-14 08:13 -0700
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-15 07:45 -0400
Re: Sort char array chad <cdalten@gmail.com> - 2019-10-15 05:12 -0700
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-15 13:04 -0700
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-17 10:14 -0700
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-15 12:24 -0400
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-16 04:12 -0700
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-16 14:21 -0700
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-16 19:12 -0400
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-16 16:33 -0700
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-16 19:48 -0400
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-18 06:57 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-13 21:22 +0300
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-11 01:02 +0300
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-07 17:01 +0200
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-07 12:24 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 12:18 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-07 14:11 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 15:22 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-07 17:17 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-07 20:52 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-08 00:45 +0300
Re: Sort char array already5chosen@yahoo.com - 2019-10-07 15:57 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-08 02:32 +0300
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 10:06 +0200
Re: Sort char array already5chosen@yahoo.com - 2019-10-08 03:21 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-09 00:34 +0300
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 11:23 +0200
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 09:59 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-08 11:39 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 14:05 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-08 15:06 +0100
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-08 14:38 +0000
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 17:34 +0200
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-08 16:38 +0000
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-08 07:55 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-08 18:31 +0300
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-08 16:39 +0000
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-08 19:57 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-08 18:09 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 22:16 +0200
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-08 23:58 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-08 22:19 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 17:39 +0200
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-09 00:12 +0300
Re: Sort char array already5chosen@yahoo.com - 2019-10-09 09:48 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 19:49 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 17:29 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-08 17:56 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-08 22:25 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 00:02 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-09 13:41 +0200
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 14:03 +0100
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-09 15:53 +0200
Re: Sort char array scott@slp53.sl.home (Scott Lurndal) - 2019-10-09 14:39 +0000
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 15:58 +0100
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-10 22:43 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-11 01:45 +0300
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-11 01:00 +0100
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-12 12:01 -0400
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-12 20:35 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-13 21:17 +0300
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-14 07:45 -0400
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-14 14:53 +0300
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-09 02:02 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-09 10:36 +0100
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-07 09:05 -0700
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-07 08:59 -0700
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-07 09:00 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-07 17:02 +0100
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-06 19:57 -0400
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-09 06:38 -0700
Re: Sort char array Bart <bc@freeuk.com> - 2019-10-05 17:14 +0100
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-05 13:06 -0400
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 02:24 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 05:13 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-06 16:04 +0300
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 07:13 -0700
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-06 18:23 -0400
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-06 15:41 +0300
Re: Sort char array Keith Thompson <kst-u@mib.org> - 2019-10-06 12:46 -0700
Re: Sort char array Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2019-10-07 04:00 +0800
Re: Sort char array David Brown <david.brown@hesbynett.no> - 2019-10-07 09:46 +0200
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-07 22:49 -0400
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-08 12:24 +0300
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-08 09:28 -0400
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-08 23:49 +0300
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-08 18:18 -0400
Re: Sort char array already5chosen@yahoo.com - 2019-10-08 03:34 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-08 14:36 +0300
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-08 15:34 +0300
Re: Sort char array already5chosen@yahoo.com - 2019-10-08 05:54 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-08 16:01 +0300
Re: Sort char array already5chosen@yahoo.com - 2019-10-08 06:31 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-09 00:30 +0300
Re: Sort char array already5chosen@yahoo.com - 2019-10-09 10:14 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-08 06:26 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-05 02:46 +0100
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-05 00:19 -0400
Re: Sort char array Barry Schwarz <schwarzb@dqel.com> - 2019-10-04 22:26 -0700
Re: OT Re: Sort char array Barry Schwarz <schwarzb@delq.com> - 2019-10-05 06:33 -0700
Re: Sort char array Bonita Montero <Bonita.Montero@gmail.com> - 2019-10-05 16:46 +0200
Re: Sort char array "Oliver S." <Follow.Me@gmx.net> - 2019-10-05 16:54 +0200
Re: Sort char array "Oliver S." <Follow.Me@gmx.net> - 2019-10-05 17:14 +0200
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-05 11:34 -0400
Re: Sort char array Mateusz Viste <mateusz@wont.tell> - 2019-10-05 15:43 +0000
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-05 17:29 -0400
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 02:14 -0700
Re: Sort char array Mateusz Viste <mateusz@wont.tell> - 2019-10-06 09:58 +0000
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 03:11 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 03:35 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-06 15:57 +0300
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-06 16:12 +0100
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-09 02:06 -0700
Re: Sort char array Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-10-07 07:28 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-07 17:51 +0100
Re: Sort char array Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2019-10-08 18:31 +0800
Re: Sort char array already5chosen@yahoo.com - 2019-10-08 03:59 -0700
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-09 02:14 -0700
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-08 14:34 +0300
Re: Sort char array Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2019-10-08 22:41 +0800
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 02:03 -0700
Re: Sort char array Bonita Montero <Bonita.Montero@gmail.com> - 2019-10-06 13:25 +0200
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-06 15:45 +0300
Re: Sort char array Bonita Montero <Bonita.Montero@gmail.com> - 2019-10-06 14:59 +0200
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-06 16:11 +0300
Re: Sort char array Bonita Montero <Bonita.Montero@gmail.com> - 2019-10-06 15:15 +0200
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-06 16:20 +0300
Re: Sort char array Bonita Montero <Bonita.Montero@gmail.com> - 2019-10-06 15:35 +0200
Re: Sort char array Richard Damon <Richard@Damon-Family.org> - 2019-10-06 13:04 -0400
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 08:44 -0700
Re: Sort char array Bonita Montero <Bonita.Montero@gmail.com> - 2019-10-06 18:01 +0200
Re: Sort char array already5chosen@yahoo.com - 2019-10-06 09:42 -0700
Re: Sort char array Bonita Montero <Bonita.Montero@gmail.com> - 2019-10-06 19:21 +0200
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-06 21:51 +0100
Re: Sort char array Bonita Montero <Bonita.Montero@gmail.com> - 2019-10-07 04:41 +0200
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-07 16:45 +0100
Re: Sort char array Anton Shepelev <anton.txt@g{oogle}mail.com> - 2019-10-07 19:11 +0300
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-07 21:10 +0100
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-08 00:43 +0300
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-07 15:51 -0400
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-09 01:48 -0700
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-07 00:42 -0400
Re: Sort char array John Bode <jfbode1029@gmail.com> - 2019-10-07 16:05 -0700
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-07 20:06 -0400
Re: Sort char array John Bode <jfbode1029@gmail.com> - 2019-10-08 08:34 -0700
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-08 01:09 +0100
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-07 20:12 -0400
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-08 01:44 +0100
Re: Sort char array DFS <nospam@dfs.com> - 2019-10-07 22:02 -0400
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-08 03:24 +0100
Re: Sort char array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-10-09 01:42 +0100
Re: Sort char array John Bode <jfbode1029@gmail.com> - 2019-10-09 11:14 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-10 00:52 +0300
Re: Sort char array John Bode <jfbode1029@gmail.com> - 2019-10-08 08:20 -0700
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-09 00:20 +0300
Re: Sort char array James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-10-08 18:48 -0400
Re: Sort char array Anton Shepelev <anton.txt@gmail.com> - 2019-10-09 02:07 +0300
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-09 02:29 -0700
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-09 09:43 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-09 09:37 -0700
Re: Sort char array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-10-09 02:22 -0700
Re: Sort char array already5chosen@yahoo.com - 2019-10-15 11:19 -0700
Page 20 of 25 — ← Prev page 1 … 18 19 [20] 21 22 … 25 Next page →
| From | Bart <bc@freeuk.com> |
|---|---|
| Date | 2019-10-12 20:35 +0100 |
| Message-ID | <ZVpoF.2786530$dw4.39577@fx12.am4> |
| In reply to | #146895 |
On 12/10/2019 17:01, Richard Damon wrote:
> On 10/10/19 8:00 PM, Bart wrote:
>>>> i8 i32 u8 u32
>>>> i16 i64 u16 u64
>>>>
>>>> i8 s s s s s s U U
>>>> i16 s s s s s s U U
>>>> i32 s s s s s s U U
>>>> i64 s s s s s s s U
>>>>
>>>> u8 s s s s s s U U
>>>> u16 s s s s s s U U
>>>> u32 U U U s U U U U
>>>> u64 U U U U U U U U
>> Would you design a new language with this exact behaviour?
>>
>> (No need to answer; that was rhetorical...)
>>
>
> As I remember, there was A LOT of debate over this when the Standard was
> being worked on, with lots of arguments for several different options of
> how it should work (with one option making it largely implementation
> defined). If you haven't (and are unwilling to) look at that body of
> discussion, putting it down is a sign of narrow mindedness. It WAS a
> tough decision, and perhaps if made now fresh, it might be made
> differently, but it would be a VERY high hurdle to justify making a
> change now, because any change breaks a number of existing programs.
This is the original context:
BC (me):
> /My/ point was, C's design makes commonplace things error prone.
...
> (12) Mix ints of different types (8/16/32/64 and signed/unsigned) and
> you have to consult a table to figure whether a binary op will work as
> signed or unsigned. Which you won't so can get it wrong
Somebody writing code will do ops between two integer types T and U, but
determining the result is not easy, no matter what the original
rationale. Hence my comment that what /should/ be easy, is harder in C
and that then requires more elaborate compilers to report on.
With this particular issue of mixing types, yes it is very poor. Even if
you mitigate the problem by ensuring the two operands are the same type,
just have look at the diagonal on that chart (the line from i8/i8 to
u64/u64).
The result will be signed, even for u8*u8 and u16*u16! Only u32*u32 and
u64*u64 will be unsigned. There's a discontinuity between u16 and u32.
For years I actually believed the general rule that with mixed
arithmetic, C would always used unsigned. Not so according to this table.
(Admittedly this rarely makes much difference to code, but just take the
simple case of wanting to print out a result: is it %d or %u, or %ld etc?)
> I would say from your comments over time that at your core, you strongly
> disagree with some of the core decisions made by the C Standards
> Committee early in its life (perhaps because you don't really understand
> them). Part of that, is that you have a very narrow view of what you
> want out to the language, in part because you have a narrow view of
> portability.
Portability is not the issue here, but consistency. With my language,
the rule is far simpler:
S + S => S
S + U => S
U + S => S
U + U => U
This holds no matter what the widths are.
> If C isn't the language that meets your needs, don't use it
I don't write code in it, except for recreation. I mainly use it for
intermediate code, and I know it has a LOT of problems, such that some
things it can't express, or it has problem with.
So it is a partial solution that will work for some programs written
with a C target in mind, and with results that /may/ depend on the whim
of a compiler, according to people here.
> C was around long before your languages.
First version of C was some 10 years before my first version. I used
mine 10 years before I tried C. I was so impressed that after spending
£160 on a Visual C compiler, I instead wrote a new compiler for my own
language! (Required to be able to work with the DLLs used to communicate
with Windows.)
That C compiler never got used and I ended up giving it away.
> If you want to be able to
> import C definitions, then you need to understand the C language.
I made a tool that convert C header files into declarations that suit
either of my two languages. But there are still a big enough number of
problems (such as dealing with macros) that it cannot be used automatically.
(Example using this C program test.c:
#include <stdint.h>
#include "SDL.h"
This is processed using:
bcc -c -mheaders test
which turns the all the nested headers (some 135 headers with 55Kloc for
this library) into this one interface file of 2400 lines:
https://github.com/sal55/qx/blob/master/sdltest.m
You can see the issues with macros from line 2071. But it also documents
a lot of the functions using the simple set of types that I need.
The same was applied to GTK (600 headers of 300,000 lines, which
generated an output file of 23,000 lines).
A version for a much smaller library, then tweaked manually and used to
run some tests, is here (with comments on some 'to do' aspects):
https://github.com/sal55/qx/blob/master/rpi/wiring.m
This is used by this test code:
https://github.com/sal55/qx/blob/master/rpi/blink.m)
[toc] | [prev] | [next] | [standalone]
| From | Anton Shepelev <anton.txt@gmail.com> |
|---|---|
| Date | 2019-10-13 21:17 +0300 |
| Message-ID | <20191013211726.e6dec8c904985deacbe26f18@gmail.com> |
| In reply to | #146895 |
Richard Damon on C's unary and binary integer conversions: > As I remember, there was A LOT of debate over this when > the Standard was being worked on, with lots of arguments > for several different options of how it should work (with > one option making it largely implementation defined). If > you haven't (and are unwilling to) look at that body of > discussion, putting it down is a sign of narrow > mindedness. A progammer can be expected to wade through the legalese of the standard for lack a more readable document, but to read the transactions of the C committee is too much. As with comments to code, the standard shall provide the rationale at lest for apparently idiotic decidions, such as the one discussed. > It WAS a tough decision, and perhaps if made now fresh, it > might be made differently, but it would be a VERY high > hurdle to justify making a change now, because any change > breaks a number of existing programs. I agree. Once you learn the reason for and the origin of a decision, it becomes easier both to undestand and to remember. -- () ascii ribbon campaign -- against html e-mail /\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
| From | Richard Damon <Richard@Damon-Family.org> |
|---|---|
| Date | 2019-10-14 07:45 -0400 |
| Message-ID | <EdZoF.21114$HU2.16211@fx26.iad> |
| In reply to | #146917 |
On 10/13/19 2:17 PM, Anton Shepelev wrote: > Richard Damon on C's unary and binary integer conversions: > >> As I remember, there was A LOT of debate over this when >> the Standard was being worked on, with lots of arguments >> for several different options of how it should work (with >> one option making it largely implementation defined). If >> you haven't (and are unwilling to) look at that body of >> discussion, putting it down is a sign of narrow >> mindedness. > > A progammer can be expected to wade through the legalese of > the standard for lack a more readable document, but to read > the transactions of the C committee is too much. As with > comments to code, the standard shall provide the rationale > at lest for apparently idiotic decidions, such as the one > discussed. The Standard provides the rules the define the ageement between the programmer and the implementation. You don't need to know why to know what has to be done (but it can help). It doesn't even need a study of why something is the way it is to offer a polite opinion that you think something should be different, as long as you are willing to accept that the answer may well be no. To call the Standard 'Wrong', or to 'Demand' that it needs to change, in my opinion requires one to take the effort to understand why things are the way they are. Otherwise is shows EXTREME ego to assume that you personally are smarter than the combined wisdom of the committeen(that could be true, but I really doubt it). > >> It WAS a tough decision, and perhaps if made now fresh, it >> might be made differently, but it would be a VERY high >> hurdle to justify making a change now, because any change >> breaks a number of existing programs. > > I agree. Once you learn the reason for and the origin of a > decision, it becomes easier both to undestand and to > remember. >
[toc] | [prev] | [next] | [standalone]
| From | Anton Shepelev <anton.txt@g{oogle}mail.com> |
|---|---|
| Date | 2019-10-14 14:53 +0300 |
| Message-ID | <20191014145351.e429528702758017ff12c00a@g{oogle}mail.com> |
| In reply to | #146937 |
Richard Damon: >To call the Standard 'Wrong', or to 'Demand' that it needs >to change, in my opinion requires one to take the effort to >understand why things are the way they are. Otherwise is >shows EXTREME ego to assume that you personally are smarter >than the combined wisdom of the committeen(that could be >true, but I really doubt it). I agree, and hope you did not misunderstand any of my recent posts as calling the Standard wrong or demanding that it change. -- () ascii ribbon campaign - against html e-mail /\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
| From | Malcolm McLean <malcolm.arthur.mclean@gmail.com> |
|---|---|
| Date | 2019-10-09 02:02 -0700 |
| Message-ID | <69b3c5f3-e3c2-4939-bb09-b1af9005d064@googlegroups.com> |
| In reply to | #146763 |
On Tuesday, 8 October 2019 17:56:33 UTC+1, Bart wrote: > > (I don't know how long tcc would take to build gcc; I wouldn't have a > clue how to do it. My own programs, as always, are as hard to build as > hello.c.) > That's exactly the sort of situation where the costs of complexity are incurred. An instruction to build gcc with tcc, maybe for bootstrapping. How would you do that if gcc has an elaborate build system?
[toc] | [prev] | [next] | [standalone]
| From | Bart <bc@freeuk.com> |
|---|---|
| Date | 2019-10-09 10:36 +0100 |
| Message-ID | <tShnF.671261$VE7.530010@fx11.am4> |
| In reply to | #146789 |
On 09/10/2019 10:02, Malcolm McLean wrote: > On Tuesday, 8 October 2019 17:56:33 UTC+1, Bart wrote: >> >> (I don't know how long tcc would take to build gcc; I wouldn't have a >> clue how to do it. My own programs, as always, are as hard to build as >> hello.c.) >> > That's exactly the sort of situation where the costs of complexity > are incurred. An instruction to build gcc with tcc, maybe for bootstrapping. > How would you do that if gcc has an elaborate build system? It's could possibly work (not by me though) as it seems to be the intention to turn tcc into a mini clone of gcc, in the way it works. So on Linux, tcc also defaults to generating a.out, needs flags like -lm and -ldl, and also recognises -pedantic and -m32/-m64. Slightly less so in Windows, there 'tcc prog.c' results in prog.exe, not a.exe. (Where it might fail, is where building gcc relies on gcc extensions, or uses bits of C++. I don't know enough about it.)
[toc] | [prev] | [next] | [standalone]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Date | 2019-10-07 09:05 -0700 |
| Message-ID | <lnpnj8v8w3.fsf@kst-u.example.com> |
| In reply to | #146687 |
Bart <bc@freeuk.com> writes:
[...]
> It is just a different point of view from yours; that doesn't mean it is
> not valid.
You should try applying that idea to what the rest of us are saying.
You've made it obvious that you don't care about standard conformance.
That's OK. You've also made it obvious that you hold anyone who does
care about standard conformance in contempt.
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Will write code for food.
void Void(void) { Void(); } /* The recursive call of the void */
[toc] | [prev] | [next] | [standalone]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Date | 2019-10-07 08:59 -0700 |
| Message-ID | <lnv9t0v94z.fsf@kst-u.example.com> |
| In reply to | #146678 |
Bart <bc@freeuk.com> writes:
[...]
> tcc accepts '-pedantic' but will not report anything amiss with my
> void* function pointer conversion.
tcc accepts and silently ignores "-pedantic".
$ tcc -h | grep help
-h -hh show this, show more help
kst@bomb20 linux-x86_64 25497$ tcc -hh | grep -B 1 pedantic
Ignored options:
--param -pedantic -pipe -s -std -traditional
kst@bomb20 linux-x86_64 25498$
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Will write code for food.
void Void(void) { Void(); } /* The recursive call of the void */
[toc] | [prev] | [next] | [standalone]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Date | 2019-10-07 09:00 -0700 |
| Message-ID | <lntv8kv943.fsf@kst-u.example.com> |
| In reply to | #146678 |
Bart <bc@freeuk.com> writes:
[...]
> tcc accepts '-pedantic' but will not report anything amiss with my
> void* function pointer conversion.
tcc accepts and silently ignores "-pedantic".
$ tcc -h | grep help
-h -hh show this, show more help
$ tcc -hh | grep -B 1 pedantic
Ignored options:
--param -pedantic -pipe -s -std -traditional
$
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Will write code for food.
void Void(void) { Void(); } /* The recursive call of the void */
[toc] | [prev] | [next] | [standalone]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Date | 2019-10-07 17:02 +0100 |
| Message-ID | <87lftwlf1e.fsf@bsb.me.uk> |
| In reply to | #146678 |
Bart <bc@freeuk.com> writes: > If that code is not the 100% standards-conformant C that is favoured > in this heavily gcc/Linux-centric group, then I don't care. And neither does anyone else (or so I hope). The problem is that you gave bad advice. The code in question was just three lines (ignoring braces) and only one line needed to be changed for the code to work correctly. Your advice was to change all three lines, with one of those changes suggested simply to try silence a warning caused by the other unnecessary change. That used to be called hacking. It so happens that the one required change would also make the code into standard C, with no constraint violations, but that is almost incidental. -- Ben.
[toc] | [prev] | [next] | [standalone]
| From | Richard Damon <Richard@Damon-Family.org> |
|---|---|
| Date | 2019-10-06 19:57 -0400 |
| Message-ID | <kbvmF.36884$pe2.32619@fx34.iad> |
| In reply to | #146651 |
On 10/6/19 12:39 PM, Bart wrote: > On 06/10/2019 16:07, Tim Rentsch wrote: >> Bart <bc@freeuk.com> writes: >> >>> Does it matter if it is not 100%, pure, conforming C? >> >> It does if you present some code as being C when you >> know it isn't. Or maybe you don't mind being a liar. >> > > You might think a C compiler would tell you if an input wasn't C, or > wasn't the C it was designed to compile. And if it says nothing, what > does one conclude from that? There are diagnostics that a conforming C compiler is required to emit, and there are errors in programs that the Standard explicitly says that a compiler is not required to diagnose. Using the wrong type of function, without a cast, in this sort of circumstance. With a cast, you can easily create a program error that the compiler isn't required to diagnose. In this case, I think by the Standard, a diagnostic is required (I don't think a void* pointer is allowed to implicitly convert into a function pointer) but I could see that allowing this could be a common extension, that might be in force as a default. it makes the compiler non-conforming as a C compiler, and gcc without the -pedantic flag is documented as accepting certain coding practices without a diagnostic that is required to have one by the Standard. The use of a cast can hide many errors in C code, especially a cast to void*. (This is one reason C++ created more visible variants of the cast, which have more restricted powers, to allow this sort of thing to be more obvious, and many C++ compilers have an option to warn on a 'C Style' cast
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2019-10-09 06:38 -0700 |
| Message-ID | <868spu82ej.fsf@linuxsc.com> |
| In reply to | #146651 |
Bart <bc@freeuk.com> writes: > On 06/10/2019 16:07, Tim Rentsch wrote: > >> Bart <bc@freeuk.com> writes: >> >>> Does it matter if it is not 100%, pure, conforming C? >> >> It does if you present some code as being C when you >> know it isn't. Or maybe you don't mind being a liar. > > You might think a C compiler would tell you if an input wasn't C, > or wasn't the C it was designed to compile. [...] A transparent attempt to change the subject. What I think a C compiler would or should do is irrelevant. The question is whether you mind being a liar. And it's becoming increasingly obvious that you don't.
[toc] | [prev] | [next] | [standalone]
| From | Bart <bc@freeuk.com> |
|---|---|
| Date | 2019-10-05 17:14 +0100 |
| Message-ID | <7k3mF.952080$aI7.292241@fx22.am4> |
| In reply to | #146584 |
On 05/10/2019 13:14, Bart wrote:
> printf("\nSort time for %N strings was: %d\n\n",t);
That line should be:
printf("\nSort time for %d strings was: %d\n\n",N,t);
Although it still gave me the correct timings (%N was ignored rather
than consume a parameter).
[toc] | [prev] | [next] | [standalone]
| From | DFS <nospam@dfs.com> |
|---|---|
| Date | 2019-10-05 13:06 -0400 |
| Message-ID | <y34mF.14933$oA2.12347@fx08.iad> |
| In reply to | #146584 |
On 10/5/2019 8:14 AM, Bart wrote:
> On 05/10/2019 01:45, DFS wrote:
>> On 10/4/2019 8:21 PM, Bart wrote:
>
>>> You might try this version:
>>>
>>> #include <stdlib.h> // for qsort
>>>
>>> int mystrcmp(char** s, char** t){
>>> return strcmp(*s, *t);
>>> }
>>
>>> void psort(int n, char *x[]) {
>>> qsort(x, n, sizeof(char*), mystrcmp);
>>> }
>
>>
>> I tried qsort (with strcasecmp), but got screenfuls of strange stuff.
>>
>>
>> int comparechar (const void * a, const void * b)
>
> These need to be ** not *. (Because qsort needs to be able to modify the
> original char*. Not sure how the 'const' plays with that.)
>
>> {
>> printf("%s %s %d\n",a,b,strcasecmp(a,b));
>> return strcasecmp(a,b);
>
> And here, to offset the extra *, you need an extra dereference *, so *a
> and *b.
>
>> }
>>
>> qsort(randoms, n, sizeof(char), comparechar);
>
> If there is a type error here, just silence it with (void*)comparechar.
> (There might be a proper cast, but void* is quicker.)
>
>
> This the test I used myself (now using stricmp):
>
> ----------------------------------
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
>
> int mystrcmp(char** s, char** t){
> return stricmp(*s, *t);
> }
>
> void psort(int n, char *x[]) {
> qsort(x,n,sizeof(char*), (void*)mystrcmp);
> }
>
> int main(void) {
> char *str[]={"one","two","three","four","five","six"};
>
> psort(6,str);
>
> for (int i=0; i<6; ++i) printf("%s\n",str[i]);
> }
>
> -------------------------------
>
> Output should be:
>
> five
> four
> one
> six
> three
> two
>
> > I actually want to sort 12,000,000 random string elements of length 2 to
> > 16. No kidding. python does it in about 30 seconds (Timsort algorithm)
> > on my old computer.
> >
> > You just call:
> >
> > sortedlist = sorted(origlist)
>
> Is sorted() written actually in Python? Does it use your original
> algorithm?
As far as I know, the default algorithm used by Python is Timsort
(implemented in C as part of the CPython reference).
sort() sorts in place
sorted() creates a new sorted list
> If I extend my small test with this addition to main() (needs #include
> <time.h> added):
>
> ----------------------------
> #define N 12000000
> char **big;
> int t;
>
> big=malloc(sizeof(char*)*N);
> for (int i=0; i<N; ++i) {
> big[i]=str[rand()%6];
> }
>
> // for (int i=0; i<N; ++i) printf("%d: %s\n",i,big[i]);
> puts("Sorted:");
>
> t=clock();
> psort(N,big);
> t=clock()-t;
> // for (int i=0; i<N; ++i)
> // if (i<10 || i>(N-10)) printf("%d: %s\n",i,big[i]);
>
> printf("\nSort time for %N strings was: %d\n\n",t);
> --------------------------------
>
> then sorting 12 million string pointers (of strings 3-5 characters long)
> takes 1.2 seconds with tcc and 0.95 seconds with gcc-O3.
>
> (This is for an in-place sort. To create a new list, just copy the
> original, then sort that, to match the Python.)
Works well. On my old computer (i5-750, 2.67GHz, 8GB memory), sorting
12,000,000 random string elements of random length 8 to 16 took 32.4s.
12M elements create array sort
------------- ------------- -------
python 400s 26s
C 11s 32s
------------- ------------- -------
C code
$ rands 12000000
10.8749s to create 12000000 random strings
Item Array 1 Array2
1. fpHKRos1DsHgXx 36dg7AvTiFFk
2. llmhO63K9Lsg2 xk9qXJdl
3. 1jaeaoRIHBpRQlB YON6PGzANYLN
4. AAIZtqWhebk8HsY JCFln9BnQZGpvBf
5. 9ohRVZar0nafx3c Wpxx2y2RVs5
6. s2hZZMSbbBZJ HIVDOWsaJd1CK
7. vvxrTddKNl 9lo0mxxYO
8. enw4GT24BvFOjg 7MhqiB09so18u
sorting...
32.4121s to lowercase qsort 12000000 strings
1. 0000yR4UUXkiLLhp
2. 0001vvqpXchE5CAl
3. 0001xUpxpU4lp
4. 0002bpuq3
5. 0002hNWyLcNroyeH
6. 0002jtckN5YGZW
7. 0004N8kqyZe
8. 0005108x5fvEOds
9. 0007CzNY2ouGXW9
10. 0007qfaMGpyYqs0
12000008. zZZZ8tO2hn71
12000009. Zzzzd7caElhw
12000010. zZZzEzJMxw
12000011. ZzZZGk3OmTr1bGxE
12000012. ZzzZmtutxFxPRzU
12000013. ZzzZS2WQocfXUtU
12000014. ZZzzw4YvYOXPVSKp
12000015. ZzZZxIU6E
12000016. ZZZzzxVEKl
Done
Thanks for your help!
[toc] | [prev] | [next] | [standalone]
| From | already5chosen@yahoo.com |
|---|---|
| Date | 2019-10-06 02:24 -0700 |
| Message-ID | <6bd384d7-4359-49df-a9a0-4838062db273@googlegroups.com> |
| In reply to | #146597 |
On Saturday, October 5, 2019 at 8:05:44 PM UTC+3, DFS wrote:
> On 10/5/2019 8:14 AM, Bart wrote:
> > On 05/10/2019 01:45, DFS wrote:
> >> On 10/4/2019 8:21 PM, Bart wrote:
> >
> >>> You might try this version:
> >>>
> >>> #include <stdlib.h> // for qsort
> >>>
> >>> int mystrcmp(char** s, char** t){
> >>> return strcmp(*s, *t);
> >>> }
> >>
> >>> void psort(int n, char *x[]) {
> >>> qsort(x, n, sizeof(char*), mystrcmp);
> >>> }
> >
> >>
> >> I tried qsort (with strcasecmp), but got screenfuls of strange stuff.
> >>
> >>
> >> int comparechar (const void * a, const void * b)
> >
> > These need to be ** not *. (Because qsort needs to be able to modify the
> > original char*. Not sure how the 'const' plays with that.)
> >
> >> {
> >> printf("%s %s %d\n",a,b,strcasecmp(a,b));
> >> return strcasecmp(a,b);
> >
> > And here, to offset the extra *, you need an extra dereference *, so *a
> > and *b.
> >
> >> }
> >>
> >> qsort(randoms, n, sizeof(char), comparechar);
> >
> > If there is a type error here, just silence it with (void*)comparechar.
> > (There might be a proper cast, but void* is quicker.)
> >
> >
> > This the test I used myself (now using stricmp):
> >
> > ----------------------------------
> >
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <string.h>
> >
> > int mystrcmp(char** s, char** t){
> > return stricmp(*s, *t);
> > }
> >
> > void psort(int n, char *x[]) {
> > qsort(x,n,sizeof(char*), (void*)mystrcmp);
> > }
> >
> > int main(void) {
> > char *str[]={"one","two","three","four","five","six"};
> >
> > psort(6,str);
> >
> > for (int i=0; i<6; ++i) printf("%s\n",str[i]);
> > }
> >
> > -------------------------------
> >
> > Output should be:
> >
> > five
> > four
> > one
> > six
> > three
> > two
> >
> > > I actually want to sort 12,000,000 random string elements of length 2 to
> > > 16. No kidding. python does it in about 30 seconds (Timsort algorithm)
> > > on my old computer.
> > >
> > > You just call:
> > >
> > > sortedlist = sorted(origlist)
> >
> > Is sorted() written actually in Python? Does it use your original
> > algorithm?
>
>
> As far as I know, the default algorithm used by Python is Timsort
> (implemented in C as part of the CPython reference).
>
> sort() sorts in place
> sorted() creates a new sorted list
>
>
>
> > If I extend my small test with this addition to main() (needs #include
> > <time.h> added):
> >
> > ----------------------------
> > #define N 12000000
> > char **big;
> > int t;
> >
> > big=malloc(sizeof(char*)*N);
> > for (int i=0; i<N; ++i) {
> > big[i]=str[rand()%6];
> > }
> >
> > // for (int i=0; i<N; ++i) printf("%d: %s\n",i,big[i]);
> > puts("Sorted:");
> >
> > t=clock();
> > psort(N,big);
> > t=clock()-t;
> > // for (int i=0; i<N; ++i)
> > // if (i<10 || i>(N-10)) printf("%d: %s\n",i,big[i]);
> >
> > printf("\nSort time for %N strings was: %d\n\n",t);
> > --------------------------------
> >
> > then sorting 12 million string pointers (of strings 3-5 characters long)
> > takes 1.2 seconds with tcc and 0.95 seconds with gcc-O3.
> >
> > (This is for an in-place sort. To create a new list, just copy the
> > original, then sort that, to match the Python.)
>
>
> Works well. On my old computer (i5-750, 2.67GHz, 8GB memory), sorting
> 12,000,000 random string elements of random length 8 to 16 took 32.4s.
>
>
> 12M elements create array sort
> ------------- ------------- -------
> python 400s 26s
> C 11s 32s
> ------------- ------------- -------
>
>
>
> C code
> $ rands 12000000
> 10.8749s to create 12000000 random strings
>
> Item Array 1 Array2
> 1. fpHKRos1DsHgXx 36dg7AvTiFFk
> 2. llmhO63K9Lsg2 xk9qXJdl
> 3. 1jaeaoRIHBpRQlB YON6PGzANYLN
> 4. AAIZtqWhebk8HsY JCFln9BnQZGpvBf
> 5. 9ohRVZar0nafx3c Wpxx2y2RVs5
> 6. s2hZZMSbbBZJ HIVDOWsaJd1CK
> 7. vvxrTddKNl 9lo0mxxYO
> 8. enw4GT24BvFOjg 7MhqiB09so18u
>
>
> sorting...
> 32.4121s to lowercase qsort 12000000 strings
>
> 1. 0000yR4UUXkiLLhp
> 2. 0001vvqpXchE5CAl
> 3. 0001xUpxpU4lp
> 4. 0002bpuq3
> 5. 0002hNWyLcNroyeH
> 6. 0002jtckN5YGZW
> 7. 0004N8kqyZe
> 8. 0005108x5fvEOds
> 9. 0007CzNY2ouGXW9
> 10. 0007qfaMGpyYqs0
> 12000008. zZZZ8tO2hn71
> 12000009. Zzzzd7caElhw
> 12000010. zZZzEzJMxw
> 12000011. ZzZZGk3OmTr1bGxE
> 12000012. ZzzZmtutxFxPRzU
> 12000013. ZzzZS2WQocfXUtU
> 12000014. ZZzzw4YvYOXPVSKp
> 12000015. ZzZZxIU6E
> 12000016. ZZZzzxVEKl
> Done
>
>
>
> Thanks for your help!
If what you need is getting practical fast sort on "big" computer quickly then 'C' is not the best starting point.
Doing it in C++ is faster, both in run time and in developer's time except when your knowledge of C++ is zero and knowledge of C is decent.
[toc] | [prev] | [next] | [standalone]
| From | already5chosen@yahoo.com |
|---|---|
| Date | 2019-10-06 05:13 -0700 |
| Message-ID | <c458f841-69f2-47ce-aa4b-b03550732bad@googlegroups.com> |
| In reply to | #146597 |
On Saturday, October 5, 2019 at 8:05:44 PM UTC+3, DFS wrote:
> On 10/5/2019 8:14 AM, Bart wrote:
> > On 05/10/2019 01:45, DFS wrote:
> >> On 10/4/2019 8:21 PM, Bart wrote:
> >
> >>> You might try this version:
> >>>
> >>> #include <stdlib.h> // for qsort
> >>>
> >>> int mystrcmp(char** s, char** t){
> >>> return strcmp(*s, *t);
> >>> }
> >>
> >>> void psort(int n, char *x[]) {
> >>> qsort(x, n, sizeof(char*), mystrcmp);
> >>> }
> >
> >>
> >> I tried qsort (with strcasecmp), but got screenfuls of strange stuff.
> >>
> >>
> >> int comparechar (const void * a, const void * b)
> >
> > These need to be ** not *. (Because qsort needs to be able to modify the
> > original char*. Not sure how the 'const' plays with that.)
> >
> >> {
> >> printf("%s %s %d\n",a,b,strcasecmp(a,b));
> >> return strcasecmp(a,b);
> >
> > And here, to offset the extra *, you need an extra dereference *, so *a
> > and *b.
> >
> >> }
> >>
> >> qsort(randoms, n, sizeof(char), comparechar);
> >
> > If there is a type error here, just silence it with (void*)comparechar.
> > (There might be a proper cast, but void* is quicker.)
> >
> >
> > This the test I used myself (now using stricmp):
> >
> > ----------------------------------
> >
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <string.h>
> >
> > int mystrcmp(char** s, char** t){
> > return stricmp(*s, *t);
> > }
> >
> > void psort(int n, char *x[]) {
> > qsort(x,n,sizeof(char*), (void*)mystrcmp);
> > }
> >
> > int main(void) {
> > char *str[]={"one","two","three","four","five","six"};
> >
> > psort(6,str);
> >
> > for (int i=0; i<6; ++i) printf("%s\n",str[i]);
> > }
> >
> > -------------------------------
> >
> > Output should be:
> >
> > five
> > four
> > one
> > six
> > three
> > two
> >
> > > I actually want to sort 12,000,000 random string elements of length 2 to
> > > 16. No kidding. python does it in about 30 seconds (Timsort algorithm)
> > > on my old computer.
> > >
> > > You just call:
> > >
> > > sortedlist = sorted(origlist)
> >
> > Is sorted() written actually in Python? Does it use your original
> > algorithm?
>
>
> As far as I know, the default algorithm used by Python is Timsort
> (implemented in C as part of the CPython reference).
>
> sort() sorts in place
> sorted() creates a new sorted list
>
>
>
> > If I extend my small test with this addition to main() (needs #include
> > <time.h> added):
> >
> > ----------------------------
> > #define N 12000000
> > char **big;
> > int t;
> >
> > big=malloc(sizeof(char*)*N);
> > for (int i=0; i<N; ++i) {
> > big[i]=str[rand()%6];
> > }
> >
> > // for (int i=0; i<N; ++i) printf("%d: %s\n",i,big[i]);
> > puts("Sorted:");
> >
> > t=clock();
> > psort(N,big);
> > t=clock()-t;
> > // for (int i=0; i<N; ++i)
> > // if (i<10 || i>(N-10)) printf("%d: %s\n",i,big[i]);
> >
> > printf("\nSort time for %N strings was: %d\n\n",t);
> > --------------------------------
> >
> > then sorting 12 million string pointers (of strings 3-5 characters long)
> > takes 1.2 seconds with tcc and 0.95 seconds with gcc-O3.
> >
> > (This is for an in-place sort. To create a new list, just copy the
> > original, then sort that, to match the Python.)
>
>
> Works well. On my old computer (i5-750, 2.67GHz, 8GB memory), sorting
> 12,000,000 random string elements of random length 8 to 16 took 32.4s.
>
>
> 12M elements create array sort
> ------------- ------------- -------
> python 400s 26s
> C 11s 32s
> ------------- ------------- -------
>
>
>
> C code
> $ rands 12000000
> 10.8749s to create 12000000 random strings
>
> Item Array 1 Array2
> 1. fpHKRos1DsHgXx 36dg7AvTiFFk
> 2. llmhO63K9Lsg2 xk9qXJdl
> 3. 1jaeaoRIHBpRQlB YON6PGzANYLN
> 4. AAIZtqWhebk8HsY JCFln9BnQZGpvBf
> 5. 9ohRVZar0nafx3c Wpxx2y2RVs5
> 6. s2hZZMSbbBZJ HIVDOWsaJd1CK
> 7. vvxrTddKNl 9lo0mxxYO
> 8. enw4GT24BvFOjg 7MhqiB09so18u
>
>
> sorting...
> 32.4121s to lowercase qsort 12000000 strings
>
> 1. 0000yR4UUXkiLLhp
> 2. 0001vvqpXchE5CAl
> 3. 0001xUpxpU4lp
> 4. 0002bpuq3
> 5. 0002hNWyLcNroyeH
> 6. 0002jtckN5YGZW
> 7. 0004N8kqyZe
> 8. 0005108x5fvEOds
> 9. 0007CzNY2ouGXW9
> 10. 0007qfaMGpyYqs0
> 12000008. zZZZ8tO2hn71
> 12000009. Zzzzd7caElhw
> 12000010. zZZzEzJMxw
> 12000011. ZzZZGk3OmTr1bGxE
> 12000012. ZzzZmtutxFxPRzU
> 12000013. ZzzZS2WQocfXUtU
> 12000014. ZZzzw4YvYOXPVSKp
> 12000015. ZzZZxIU6E
> 12000016. ZZZzzxVEKl
> Done
>
>
>
> Thanks for your help!
I realize that in practice what you got already or what you can get with C++ std::sort is fast enough.
However from theoretical/algorthmic point of view it's worth to mention that either quicksort or mergesort or any combination of the two, like timsort, is almost certainly not the fastest way to sort 10M long array of very short strings when you have plenty of scratch RAM space.
Preprocessing inputs and then sorting by one or another variation of count-based sort (most trivial would be radix sort with least significant digit first) has to be faster, possibly much faster.
[toc] | [prev] | [next] | [standalone]
| From | Anton Shepelev <anton.txt@gmail.com> |
|---|---|
| Date | 2019-10-06 16:04 +0300 |
| Message-ID | <20191006160447.6811cc90d92a1cfacd30dd29@gmail.com> |
| In reply to | #146624 |
already5chosen:
> However from theoretical/algorthmic point of view it's
> worth to mention that either quicksort or mergesort or any
> combination of the two, like timsort, is almost certainly
> not the fastest way to sort 10M long array of very short
> strings when you have plenty of scratch RAM space.
> Preprocessing inputs and then sorting by one or another
> variation of count-based sort (most trivial would be radix
> sort with least significant digit first) has to be faster,
> possibly much faster.
My implementation of radix sort:
http://al.howardknight.net/?ID=157036702600
has failed to compete with qsort() in pracice Can yours? At
what array sizes does it start to outperform qsort()?
--
() ascii ribbon campaign -- against html e-mail
/\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
| From | already5chosen@yahoo.com |
|---|---|
| Date | 2019-10-06 07:13 -0700 |
| Message-ID | <0e672903-7764-457e-a593-cfb2e41bda50@googlegroups.com> |
| In reply to | #146630 |
On Sunday, October 6, 2019 at 4:04:55 PM UTC+3, Anton Shepelev wrote: > already5chosen: > > > However from theoretical/algorthmic point of view it's > > worth to mention that either quicksort or mergesort or any > > combination of the two, like timsort, is almost certainly > > not the fastest way to sort 10M long array of very short > > strings when you have plenty of scratch RAM space. > > Preprocessing inputs and then sorting by one or another > > variation of count-based sort (most trivial would be radix > > sort with least significant digit first) has to be faster, > > possibly much faster. > > My implementation of radix sort: > > http://al.howardknight.net/?ID=157036702600 > > has failed to compete with qsort() in pracice Can yours? Sorry, right now I have better things to do in my spare time. > At > what array sizes does it start to outperform qsort()? > It strongly depends on the # of elements in the key string. besides, there are many variations of radix sort, for some of them, especially those that sort by most significant digit first, the answer would rather strongly depend on the input distribution. Random Uniform distribution is close to best case both for quicksort and for MS-first radixsort, but for radixsort the advantage of such distribution over more skewed distributions is much more significant. A speed of quicksort with good pivot selection (e.g. median of first, last and middle elements) is in practice rather independent of the input distribution. BTW, there are combined possibilities as well. For example, one can use mergesort or quicksort at the top level with subsections that fit in L2 cache of your cPU sorted by radixsort. Cache trashing is by far the most severe real-world problem of the radix-by-LS-digit-first sorting algorithms. Possibilities are endless, but the life of developer is finite. > -- > () ascii ribbon campaign -- against html e-mail > /\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
| From | DFS <nospam@dfs.com> |
|---|---|
| Date | 2019-10-06 18:23 -0400 |
| Message-ID | <DPtmF.17619$HU2.2758@fx26.iad> |
| In reply to | #146624 |
On 10/6/2019 8:13 AM, already5chosen@yahoo.com wrote: > On Saturday, October 5, 2019 at 8:05:44 PM UTC+3, DFS wrote (to Bart): >> Thanks for your help! > > I realize that in practice what you got already or what you can get with C++ std::sort is fast enough. > However from theoretical/algorthmic point of view it's worth to mention that either quicksort or mergesort or any combination of the two, like timsort, is almost certainly not the fastest way to sort 10M long array of very short strings when you have plenty of scratch RAM space. > Preprocessing inputs and then sorting by one or another variation of count-based sort (most trivial would be radix sort with least significant digit first) has to be faster, possibly much faster. The code I built creates two N element arrays of random strings, appends some words to the end of each (to ensure some dupes), combines the arrays, dedupes the new master (still working on this part), then sorts it. I found that qsorting the 2 smaller arrays, then doing a merge-sort is a tad bit faster than combining and sorting the big array. The counting sort looks straightforward. I'll give it a try. Thanks ps RIP to Harold H. Seward
[toc] | [prev] | [next] | [standalone]
| From | Anton Shepelev <anton.txt@gmail.com> |
|---|---|
| Date | 2019-10-06 15:41 +0300 |
| Message-ID | <20191006154145.2b16eec342e56444e3583385@gmail.com> |
| In reply to | #146578 |
DFS:
> I actually want to sort 12,000,000 random string elements
> of length 2 to 16. No kidding. python does it in about 30
> seconds (Timsort algorithm) on my old computer.
Sound like the work for radix sort, does it not? My quick-
and-dirty implementation of it, however, loses by a factor
of ten to the standard qsort() even with gcc -O5 and extra
large arrays:
#include <stdlib.h>
#include <string.h>
#include <limits.h>
typedef struct lstring /* stores C-strings with their lengths */
{ char* _;
int len;
} t_lstring;
static void histsort /* Histogram sorting */
( int r, /* radix */
int n, /* number of elements to sort */
unsigned char bucks[], /* stores the bucket for each element of `in' */
t_lstring in[], /* input array to sort by radix `r' */
t_lstring out[] /* the output (sorted) array */
)
{ int hist[ 256 ]; /* the histogram -- number of elements per bucket */
int i, b; /* array element and bucket indices */
char c; /* character at radix `r' in an array element */
t_lstring* ls; /* pointer to an array element */
/* 1. Initialise the histogram: */
for( b = 0; b <= 255; b += 1 )
{ hist[ b ] = 0; }
/* 2. Fill the histogram: */
for( i = 0; i < n; i += 1 )
{ ls = &in[i];
if( r < ls->len ) c = ls->_[r];
else c = CHAR_MIN; /* if there is no character at r */
b = c - CHAR_MIN; /* convert to zero-based index */
bucks[i] = b;
hist[b] += 1;
}
/* 3. Convert the histogram to cumulative distibution: */
for( b = 1; b <= 255; b += 1 )
{ hist[b] += hist[ b - 1 ]; }
/* Not hist[b] contains the the number of elements in bucket b and all the */
/* previous ones, which is also the last index in the output array of an */
/* element in that bucket plus unity. */
/* 4. Output the elements in the order of the buckets: */
/* Since each bucket is filled in reverse order, we must scan the array */
/* likewise, lest we invert the existing ordering by previous radixi. */
for( i = n-1; i >= 0; i -= 1 )
{ b = bucks[i];
hist[b] -= 1; /* now it points to the last free element for bucket `b'. */
out[ hist[b] ] = in[i]; /* data transfer through stack! */
}
}
static void rsort( int n, char** x )
{ int i; /* index of the current element */
int l, m; /* current and maximum string legth */
int r; /* radix, or character position in a string. */
t_lstring *lstabi, *lstabo; /* input and output lstring tables */
t_lstring *lstabt; /* temp pointer for swaping */
t_lstring *ls; /* pointer to an element */
unsigned char * bucks; /* bucket array */
/* 1. Allocate memory for additional structures: */
/* TODO: Test for lack of memory and return an error code: */
lstabi = calloc( n, sizeof( t_lstring ) );
lstabo = calloc( n, sizeof( t_lstring ) );
bucks = calloc( n, sizeof( char ) );
m = 0;
/* 2. Fill the input array calulating maximum string length by the way: */
for( i = 0; i < n; i += 1 )
{ l = strlen( x[i] );
if( l > m )
{ m = l; }
ls = &lstabi[i];
ls->_ = x[i];
ls->len = l;
}
/* 3. Histogram-sorting starting from the highest meaningful radix */
/* to get the enforce lexicographical order: */
for( r = m-1; r >= 0; r -= 1 )
{ histsort( r, n, bucks, lstabi, lstabo );
lstabt = lstabi; /* Swap the input and output tables */
lstabi = lstabo; /* in order in the next iteration */
lstabo = lstabt; /* to sort the output of the current. */
}
/* 4. Return the element into the array: */
for( i = 0; i < n; i += 1 )
{ x[i] = lstabi[i]._; }
free( lstabi );
free( lstabo );
free( bucks );
}
Now I too want to ask: what did I do wrong? I do not have a
test code I am not ahsamed of, so am not publishing any so
far.
--
() ascii ribbon campaign -- against html e-mail
/\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
Page 20 of 25 — ← Prev page 1 … 18 19 [20] 21 22 … 25 Next page →
Back to top | Article view | comp.lang.c
csiph-web