Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.help > #1134

Re: How to sort String array A based on int array B

Date 2011-09-26 08:04 -0700
From Patricia Shanahan <pats@acm.org>
Newsgroups comp.lang.java.help
Subject Re: How to sort String array A based on int array B
References (6 earlier) <j5np771d6gjjdo1m1cj43fo4e6s3lknb1f@4ax.com> <5PmdnbXtmIHNYOHTnZ2dnUVZ_vCdnZ2d@earthlink.com> <m8cq77pb4h2odihba17kjmdeb1hkhmo115@4ax.com> <vamdnaXs-8hsqeDTnZ2dnUVZ_sednZ2d@earthlink.com> <ijv08799d2u73gpduufeg5gs9qkictcpmp@4ax.com>
Message-ID <Zd-dnSM_Q5HpCR3TnZ2dnUVZ_sOdnZ2d@earthlink.com> (permalink)

Show all headers | View raw


On 9/26/2011 6:37 AM, Thee Chicago Wolf (MVP) wrote:
>> On 9/23/2011 6:27 PM, Thee Chicago Wolf (MVP) wrote:
>> ...
>>> The int array is already sorted:
>>>
>>> int[] rank = {1,2,3,4,5,6};
>>>
>>> The song tiltles are not sorted:
>>>
>>> String[] song = {"6_song",
>>> "4_song",
>>> "1_song",
>>> "3_song",
>>> "2_song",
>>> "5_song"};
>>>
>>> I took the top 6 songs from the "Top 40 Charts" that are already
>>> ranked from 1-6.

But is there anything in the original problem statement that justifies
requiring pre-sorted data? If you only have to sort according to Top 40
rank, and you have the Top 40 list, you can ignore A and simply return
the input data without doing anything to it at all. I don't think that
is what the problem statement meant, because sort algorithms would be
irrelevant and useless for that problem.

>>
>> This does not have much to do with the requirement you quoted earlier.
>
> Patricia, what I think you're failing to see is that to rank a bunch
> of songs based on a *defined* rank of most to least popular will just
> re-randomize them and not order them in a rank. Top 40 songs are not
> ordered randomly but by popularity so you already *know* their rank as
> a byproduct of their popularity.

Here's an example that may make my interpretation of the original
problem statement a bit clearer.

Suppose B contains {"xxx", "yyy", "zzz"} and A contains {3, 1, 2}. Then
the rank ordered version of B would be {"yyy", "zzz", "xxx"}. That is,
the song that, according to A, has rank 1 comes first, then the song
that has rank 2, and finally the song with rank 3.

In general, when given a sorting problem, it does not make sense to
assume the input data is already sorted according to the required sort
order. It may be sorted according to some other criterion, such as
alphabetical order, or it may be unsorted.

For example, someone somewhere started with a database containing
popular songs in some arbitrary order, such as alphabetical by title or
in order of appearance. They also had a table containing the number of
sales of each song. They built the Top 40 list by sorting in rank order
and truncating at 40.

Patricia

Back to comp.lang.java.help | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

How to sort String array A based on int array B "Thee Chicago Wolf [MVP]" <.@.> - 2011-09-22 14:31 -0500
  Re: How to sort String array A based on int array B markspace <-@.> - 2011-09-22 15:38 -0700
    Re: How to sort String array A based on int array B "Thee Chicago Wolf [MVP]" <.@.> - 2011-09-23 08:51 -0500
      Re: How to sort String array A based on int array B Patricia Shanahan <pats@acm.org> - 2011-09-23 07:23 -0700
        Re: How to sort String array A based on int array B "Thee Chicago Wolf [MVP]" <.@.> - 2011-09-23 10:51 -0500
          Re: How to sort String array A based on int array B Patricia Shanahan <pats@acm.org> - 2011-09-23 09:59 -0700
            Re: How to sort String array A based on int array B "Thee Chicago Wolf [MVP]" <.@.> - 2011-09-23 14:31 -0500
              Re: How to sort String array A based on int array B Patricia Shanahan <pats@acm.org> - 2011-09-23 12:39 -0700
              Re: How to sort String array A based on int array B "Charles Hottel" <chottel@earthlink.net> - 2011-09-23 17:42 -0400
                Re: How to sort String array A based on int array B "Thee Chicago Wolf (MVP)" <.@.> - 2011-09-23 20:27 -0500
                Re: How to sort String array A based on int array B Patricia Shanahan <pats@acm.org> - 2011-09-23 18:39 -0700
                Re: How to sort String array A based on int array B "Thee Chicago Wolf (MVP)" <.@.> - 2011-09-26 08:37 -0500
                Re: How to sort String array A based on int array B Patricia Shanahan <pats@acm.org> - 2011-09-26 08:04 -0700
                Re: How to sort String array A based on int array B "Thee Chicago Wolf [MVP]" <.@.> - 2011-09-27 13:47 -0500
                Re: How to sort String array A based on int array B "Thee Chicago Wolf [MVP]" <.@.> - 2011-09-27 13:59 -0500
                Re: How to sort String array A based on int array B Lew <lewbloch@gmail.com> - 2011-09-27 12:25 -0700
                Re: How to sort String array A based on int array B Lew <lewbloch@gmail.com> - 2011-09-26 09:00 -0700
                Re: How to sort String array A based on int array B "Charles Hottel" <chottel@earthlink.net> - 2011-09-23 23:31 -0400
                Re: How to sort String array A based on int array B "Thee Chicago Wolf (MVP)" <.@.> - 2011-09-26 08:29 -0500
  Re: How to sort String array A based on int array B Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-09-22 22:28 -0400
    Re: How to sort String array A based on int array B "Thee Chicago Wolf [MVP]" <.@.> - 2011-09-23 09:13 -0500
      Re: How to sort String array A based on int array B Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-09-23 20:45 -0400
  Re: How to sort String array A based on int array B Roedy Green <see_website@mindprod.com.invalid> - 2011-09-23 02:28 -0700
    Re: How to sort String array A based on int array B "Thee Chicago Wolf [MVP]" <.@.> - 2011-09-23 09:14 -0500
  Re: How to sort String array A based on int array B Roedy Green <see_website@mindprod.com.invalid> - 2011-09-25 00:46 -0700

csiph-web