2010-05-27 20 views
5

मैं सी ++ में बी-पेड़ को कार्यान्वित करता हूं, मेरे पास एक स्टैक है जो जोड़ों को बचाता है। मेरी समस्या यह है कि, मैं इस ढेर में कैसे डालता हूं क्योंकि धक्का केवल 1 तर्क स्वीकार करता है। धन्यवाद2 पैरा के साथ स्टैक एसटीएल

+3

आप अपनी समस्या स्पष्ट कर सकता हूँ? अब यह एक सरल 'stack.push (std :: make_pair (पहला, दूसरा)) लगता है; '' std' के साथ 'std :: stack >' आपको बस इतना ही चाहिए। – Pieter

उत्तर

3
#include <utility> 

// ... 
stack<pair<string,string> > s; 
s.push(make_pair("roses", "red")); 
6

मानक पुस्तकालय द्वारा प्रदान की गई std :: जोड़ी का उपयोग करें।

आप उन्हें make_pair फ़ंक्शन के साथ बना सकते हैं।

#include <iostream> 
#include <stack> 
#include <string> 
using namespace std; 

int main(int argc, char **argv) 
{ 
    int myInt = 1; 
    string myString("stringVal"); 

    stack<pair<string, int> > myStack; 
    myStack.push(make_pair(myString, myInt)); 

    return 1; 
} 
+0

धन्यवाद। मैं एसटीएल kwon नहीं है। यह सिर्फ मुझे इसकी ज़रूरत है। सभी को धन्यवाद। – petercartagena

3
#include <stack> 
#include <utility> 
#include <iostream> 
using namespace std; 

int main() { 
    stack <pair<int,int> > s; 
    s.push(make_pair(1, 2)); 
    pair <int, int> p = s.top(); 
    cout << p.first << " " << p.second << endl; 
} 
संबंधित मुद्दे