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


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

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

From "Charles Hottel" <chottel@earthlink.net>
Newsgroups comp.lang.java.help
References (2 earlier) <822p77tjmlsdrp2r7so1ko70igu9fascn6@4ax.com> <u-CdnSQgGqDnC-HTnZ2dnUVZ_rOdnZ2d@earthlink.com> <e9ap771g34045ad5tda2mp36imru521ks9@4ax.com> <Kd6dnbo1BNGUJuHTnZ2dnUVZ_s6dnZ2d@earthlink.com> <j5np771d6gjjdo1m1cj43fo4e6s3lknb1f@4ax.com>
Subject Re: How to sort String array A based on int array B
Date 2011-09-23 17:42 -0400
Message-ID <5PmdnbXtmIHNYOHTnZ2dnUVZ_vCdnZ2d@earthlink.com> (permalink)

Show all headers | View raw


"Thee Chicago Wolf [MVP]" <.@.> wrote in message 
news:j5np771d6gjjdo1m1cj43fo4e6s3lknb1f@4ax.com...
> >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]

Are you certain that the integer values in the A array are already in sort 
order?  My intuition is that they are not and that you must sort them.  In 
the process of sorting them the elements in the A array will change or swap 
their position.  Every time this happens your code must swap the 
corresponding elements in the B array.  This will keep the A and B arrays in 
synchronization.

If my intuition is wrong then I do not understand you problem as explained 
thus far. 

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