How about sorting the array containing the indices of the original array, and 
overloading the comparator function to work with original array. Provided you 
are using C++, following might help,

#include <vector>
#include <utility>
#include <algorithm>
#include <cstdlib> 
#include <ctime>
#include <iostream>
#include <iterator>

using namespace std;

struct cmp 
{
private:    
    vector<int>& _arr;

public:    
    cmp(vector<int>& arr) : _arr(arr) {}

    bool operator()(const size_t& i1, const size_t& i2) const
    {
        return (_arr[i1] < _arr[i2]);
    }
};

int main()
{
    const size_t SIZE = 10;
    vector<int> arr(SIZE); 
    vector<size_t> indices(SIZE);
    
    srand(time(0));
    for(size_t i = 0; i < SIZE; ++i)
    {
        arr[i] = rand()%100; // lets take numbers till 100 only
        indices[i] = i;
    }

    cout << endl << "Array:" << endl;
    copy(arr.begin(), arr.end(), ostream_iterator<size_t>(cout, " "));

    cout << endl << "Indices:" << endl;
    copy(indices.begin(), indices.end(), ostream_iterator<size_t>(cout, " "));
    cout << endl;

    sort(indices.begin(), indices.end(), cmp(arr));
    cout << endl << "Sorted array indices:" << endl;
    copy(indices.begin(), indices.end(), ostream_iterator<size_t>(cout, " "));
    cout << endl;
    
    return 0;
}
----- Original Message ----
From: Brett McCoy <[EMAIL PROTECTED]>
To: [email protected]
Sent: Tuesday, October 2, 2007 8:42:16 PM
Subject: Re: [c-prog] Re: help - Array Indices - sorting









  


    
            On 10/2/07, anand <apkapk_2000@ yahoo.com> wrote:



> My array has more than 40 values & my original code is very complex

> involving many other operations which might have confused you much

> more than this piece has!So i gave this code just as an example.My

> original code is taking care of sorting & i did omit that part here to

> make it simple.

>



> In the example above,yes i know the expected output but i want to make

> it a generalized program for any number of elements in an array.



OK, well, seeing how things are getting sorted would be helpful, and

seeing how you are keeping track of the array indexes when you sort

them as well. Provide the smallest amount of code exhibiting the

problem (including the sorting).



-- Brett

------------ --------- --------- --------- --------- --------- -

"In the rhythm of music a secret is hidden;

    If I were to divulge it, it would overturn the world."

               -- Jelaleddin Rumi



    
  

    
    




<!--

#ygrp-mkp{
border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;}
#ygrp-mkp hr{
border:1px solid #d8d8d8;}
#ygrp-mkp #hd{
color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;}
#ygrp-mkp #ads{
margin-bottom:10px;}
#ygrp-mkp .ad{
padding:0 0;}
#ygrp-mkp .ad a{
color:#0000ff;text-decoration:none;}
-->



<!--

#ygrp-sponsor #ygrp-lc{
font-family:Arial;}
#ygrp-sponsor #ygrp-lc #hd{
margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
#ygrp-sponsor #ygrp-lc .ad{
margin-bottom:10px;padding:0 0;}
-->



<!--

#ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, 
sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;}
#ygrp-vitnav{
padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
#ygrp-vitnav a{
padding:0 1px;}
#ygrp-actbar{
clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
#ygrp-actbar .left{
float:left;white-space:nowrap;}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;font-size:77%;padding:15px 0;}
#ygrp-ft{
font-family:verdana;font-size:77%;border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;}

#ygrp-vital{
background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
#ygrp-vital #vithd{
font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
#ygrp-vital ul{
padding:0;margin:2px 0;}
#ygrp-vital ul li{
list-style-type:none;clear:both;border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
#ygrp-vital ul li .cat{
font-weight:bold;}
#ygrp-vital a{
text-decoration:none;}

#ygrp-vital a:hover{
text-decoration:underline;}

#ygrp-sponsor #hd{
color:#999;font-size:77%;}
#ygrp-sponsor #ov{
padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;margin:0;}
#ygrp-sponsor #ov li{
list-style-type:square;padding:6px 0;font-size:77%;}
#ygrp-sponsor #ov li a{
text-decoration:none;font-size:130%;}
#ygrp-sponsor #nc{
background-color:#eee;margin-bottom:20px;padding:0 8px;}
#ygrp-sponsor .ad{
padding:8px 0;}
#ygrp-sponsor .ad #hd1{
font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
#ygrp-sponsor .ad a{
text-decoration:none;}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;}
#ygrp-sponsor .ad p{
margin:0;}
o{font-size:0;}
.MsoNormal{
margin:0 0 0 0;}
#ygrp-text tt{
font-size:120%;}
blockquote{margin:0 0 0 4px;}
.replbq{margin:4;}
-->








       
____________________________________________________________________________________
Be a better Globetrotter. Get better travel answers from someone who knows. 
Yahoo! Answers - Check it out.
http://answers.yahoo.com/dir/?link=list&sid=396545469

[Non-text portions of this message have been removed]

Reply via email to