2017-02-02 6 views
-3

Ich habe drei String ArraysSortieren Arrays von Elementen

A: [-22, -3, 2.2, a] 
B: [-22, -3, 2.2, b] 
C: [-22, 0, 2.2] 

Nach dem Sortieren Ich möchte diese Sequenz erhalten

C: [-22, 0, 2.2] 
A: [-22, -3, 2.2, a] 
B: [-22, -3, 2.2, b] 

Der Vergleich zwischen einem Paar von Arrays auf dem ersten Element in den Arrays erfolgt . Wenn das Element identisch ist, das zweite Element und so weiter.

Welcher Komparator muss verwendet werden?

+1

Was ist die Art dieser Arrays? Was sind 'a' und' b'? – khelwood

+1

möchten Sie die Ascii-Werte von 'a' und' b' berücksichtigen? –

+0

Was sind 'a',' b'? –

Antwort

0
#include <string> 
#include <vector> 
#include <iostream> 
#include <algorithm> 

using namespace std; 

struct values{ 
    vector<string> ve; 
}array[100]; 

bool comp(values a, values b){ 
    if(a.ve.size()<b.ve.size() || a.ve<b.ve) 
     return true; 
    return false; 
} 

int main(){ 

    int number, size; 
    string str; 
    cin>>number; //Number of string arrays 
    for(int i=0;i<number;i++){ 
     cin>>size; // Number of element in each array 
     for(int j= 0;j<size;j++){ 
      cin>>str; 
      array[i].ve.push_back(str); 
     } 

    } 
    sort(array, array+number, comp); 

    for(int i=0;i<number;i++){ 
     for(int j= 0;j<array[i].ve.size();j++){ 
      cout<<array[i].ve[j]<<" "; 
     } 
     cout<<"\n"; 

    } 
    return 0; 
} 

Eingang:

3  
4 
-22 -3 2.2 a 
4 
-22 -3 2.2 b 
3 
-22 0 2.2 

Ausgang:

-22 0 2.2 
-22 -3 2.2 a 
-22 -3 2.2 b 
+0

Warum haben Sie eine Java-Frage mit C++ - Code beantwortet? –

+0

Hoppla, ich habe das Java-Tag nicht bemerkt. – Masum

Verwandte Themen