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


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

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

Date 2011-09-23 09:59 -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 <1k2n77ltdv7ml661pa9a2g63j8q5l1c66g@4ax.com> <j5gdcf$ldp$1@dont-email.me> <822p77tjmlsdrp2r7so1ko70igu9fascn6@4ax.com> <u-CdnSQgGqDnC-HTnZ2dnUVZ_rOdnZ2d@earthlink.com> <e9ap771g34045ad5tda2mp36imru521ks9@4ax.com>
Message-ID <Kd6dnbo1BNGUJuHTnZ2dnUVZ_s6dnZ2d@earthlink.com> (permalink)

Show all headers | View raw


On 9/23/2011 8:51 AM, Thee Chicago Wolf [MVP] wrote:
>> On 9/23/2011 6:51 AM, Thee Chicago Wolf [MVP] wrote:
>>>> On 9/22/2011 12:31 PM, Thee Chicago Wolf [MVP] wrote:
>>>>
>>>>> The trouble I am having is sorting array B based on array A.
>>>>
>>>>
>>>> I don't doubt that.  I'm having trouble understanding what "based on"
>>>> means here.  Can you elaborate?  What actual operation do you want to
>>>> preform on A and B, based on what criteria?
>>>
>>> Ok, after reading my post I can see that I was not quite as clear as I
>>> could have been.
>>>
>>> So I have two arrays: A and B. Array A is an int array (I think I had
>>> it backwards in my original description) and array B is a String
>>> array. Array A is already ordered from 1 - 6 in ascending order and is
>>> basically a rank order with 1 being most popular, 2 =  less popular
>>> than 1, 3 = less so than 2, etc. Array B is the artist info,
>>> scrambled, but each artist is defined by their appropriate popularity
>>> with a #_ naming convention preceding the artist name and song title.
>>> I figured that array B had to have some defining characteristic about
>>> it else there would be no way to order a bunch of String info to a
>>> corresponding rank without knowing the current artist ranking.
>>
>> You say "I figured" so presumably that part of the description is not an
>> explicit part of the original problem definition. How confident are you
>> that B should contain ranking information? If it does, the array A seems
>> superfluous, and the problem is simply one of sorting B.
>>
>> There are alternative interpretations of the rest of your comments that
>> would give meaning to both arrays.
>
> Here is the original requirement:
>
> Modify any of the sort algorithms to sort a secondary array B based on
> the sorting order of A (that is akin to say: sort the titles of the
> songs (B) based on their rank (A).
>
> I chose to add Artist info in addition to song title. This is why I
> specifically added the #_ (read as number underscore) to the String
> array else I figured there was no easy way to sort them based on a
> rank. Meaning, you can't compare an int to a String. In my mind, I
> thought that adding the #_ to the beginning of the String item would
> make it easier to sort it. Does that make sense?

Generally, adding your own features to a program before doing what is
actually required is a very bad mistake. First get what is needed
working, and have that version available to turn in. If you have time
later, and want to get some more programming practice, add your own
features.

The way I would interpret the original requirement is that B contains
the song titles, and absolutely nothing but the song titles. No numbers
- unless they are part of the song title, no underscore, no artist
information. A[i] is the rank of B[i]. That is, if B[i] is the highest
rated title, A[i] is 1. If B[i] is the lowest rated of six titles then
A[i] is 6.

In this interpretation there is no need to compare an int to a String,
only to compare an int to another int.

I'll give you a couple of hints:

1. Maintain the relationship between A and B as an invariant during the
sort.

2. At the end of the sort, A will be in ascending value order if you
want highest rank, lowest rank number, title first.

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