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


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

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

From "Thee Chicago Wolf [MVP]" <.@.>
Newsgroups comp.lang.java.help
Subject Re: How to sort String array A based on int array B
Date 2011-09-23 14:31 -0500
Organization .
Message-ID <j5np771d6gjjdo1m1cj43fo4e6s3lknb1f@4ax.com> (permalink)
References (1 earlier) <j5gdcf$ldp$1@dont-email.me> <822p77tjmlsdrp2r7so1ko70igu9fascn6@4ax.com> <u-CdnSQgGqDnC-HTnZ2dnUVZ_rOdnZ2d@earthlink.com> <e9ap771g34045ad5tda2mp36imru521ks9@4ax.com> <Kd6dnbo1BNGUJuHTnZ2dnUVZ_s6dnZ2d@earthlink.com>

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.

Maybe I am missing the gist here but I would still be comparing an int
to a String, not int to int. B[i] will be a bunch of song titles that
would be of type String. You're not saying compare index to index,
right?

>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.

Nothing in A[] should be changing as those values are static, only the
order of the titles in B[] should be sorted based on the defined order
of what's in A[].

- Thee Chicago Wolf [MVP]

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