2013-07-22 6 views
21

a question about double[,] का जवाब देने में, मुझे लगता है कि डेटा संरचना के लिए LINQPad के उत्पादन का एक स्क्रीनशॉट कहा:डबल क्या करता है [,] प्रतिनिधित्व करता है?

double[,]

हालांकि, मैं सोच क्या एक double[,,] की तरह दिखता है पर पहुंचे, और LINQPad मेरे लिए यह कल्पना नहीं होंगे।

int[,,] foo = new int[,,] 
    { 
    { 
     { 2, 3}, 
     { 3, 4} 
    }, 
    { 
     { 3, 4}, 
     { 1, 5} 
    } 
    }; 

किसी को भी मेरे लिए यह कल्पना कर सकते हैं: इसके अतिरिक्त, मैं डेटा जो यह में चला जाता है के प्रारूप समझ में नहीं आता?

+0

मुझे लगता है कि इसे देखने के लिए सबसे सीधा तरीका एक 3 डी घन के साथ होगा। मुझे नहीं पता कि कोई जटिल 2 डी मॉडल का सुझाव देना चाहता है ...? – Katana314

+0

@ कटाना 314, http://stackoverflow.com/a/18304657/129164 देखें जो मुझे लगता है कि तकनीकी रूप से * 1 डी * मॉडल माना जाएगा। – devuxer

उत्तर

19

आप सोच सकते हैं कि इसमें एक-दूसरे के ऊपर खड़ी तालिकाओं का एक सेट है। तो आपको आइटम को पुनर्प्राप्त करने के लिए एक तिहाई निर्दिष्ट करने की आवश्यकता होगी, जो मान प्राप्त करने के लिए कौन सी तालिका, कॉलम और पंक्ति निर्दिष्ट करेगा।

enter image description here

+0

और प्रत्येक बॉक्स में इनपुट की एक संख्या है? ** संपादित करें: ** अपने उत्तर पर @ Servy की टिप्पणी के आधार पर, मुझे पता है कि मेरे प्रश्न का उत्तर "हां" है। – Bobson

+0

सही। प्रत्येक बॉक्स एक सरणी स्थान होता है, जो तब एक मान रखेगा (यदि आप अपना उदाहरण इस्तेमाल करते हैं तो एक डबल)। – PocketDews

+3

कृपया 'डबल [,,,,,] 'को भी विज़ुअलाइज़ करें ;-) –

8

यह एक 3 डी सरणी है। तो आपको इसे देखने के लिए एक 3 डी प्रतिनिधित्व करना है।

आप कई लेगो ईंटों के साथ एक घन (या अधिक सही आयताकार क्यूबोइड) बनाने के बारे में सोच सकते हैं जहां प्रत्येक ईंट में 1 पूर्णांक होता है।

+3

यह एक घन नहीं है, क्योंकि आयामों को सभी बराबर होने की आवश्यकता नहीं है। यह एक cuboid है। – Servy

+2

हां, लेकिन अब मैं नहीं जानता कि सभी जानते हैं कि एक क्यूबॉयड क्या है। –

+1

यदि आप अपने मतलब का प्रतिनिधित्व करने के लिए किसी अन्य शब्द का उपयोग कर सकते हैं, तो हर तरह से, लेकिन कह रहे हैं कि यह एक घन सही नहीं है। – Servy

3

यह एक क्यूबोइड (3-आयामी ऐरे) होगा - यह आपको जितना गहरा हो जाएगा (आयाम के अनुसार), लेकिन तीसरे आयाम के बाद विज़ुअलाइजेशन वास्तव में कठिन हो जाता है।

आप इसे किसी प्रकार की सारणी के ढेर के रूप में कल्पना कर सकते हैं; यह समानता दोबारा काम करता है।

9

यह Rectangular Cuboid है।

यह 6 चेहरे के साथ एक त्रि-आयामी ठोस है, सभी आयताकार हैं।

आप आगे कल्पना कर सकते हैं कि क्यूबॉइड कई क्यूब्स में टूट रहा है, और उनमें से प्रत्येक क्यूब्स में एक ही मूल्य है।

+0

तो जोड़ी' {2, 3} '(उदाहरण के लिए) कहां है? आसन्न क्यूब्स की एक जोड़ी? दो कोनों के बीच की रेखा? – Bobson

+0

@ बॉब्सन आपके उदाहरण में आपके पास 8 अलग-अलग मान हैं, जो 2x2x2 घन है। '{2, 3}, {3, 4} 'घन के निचले हिस्से का प्रतिनिधित्व करता है, और' {2, 3} 'आसन्न क्यूब्स (पूरे घन के 1/4 बनाने) का प्रतिनिधित्व करता है। – Servy

+1

आह, अब समझ में आता है। – Bobson

3

यह 3 डी सरणी (2 डी सरणियों की सरणी) के रूप में अन्य लोगों ने कहा:

यहाँ एक 3x3x3 सरणी के रूप में क्या कल्पना की जा सकती है। आप विज़ुअलाइज़ेशन के लिए this extension का उपयोग कर सकते हैं।

+1

ओहोह, जो खेलने के लिए मजेदार लग रहा है। – Bobson

0

बहुआयामी ऐरे 6 किनारे के साथ घन की तरह दिखता है और 3 संपत्ति चौड़ाई, ऊंचाई और गहराई होती है, जब आप गहराई से डिट्रिमिनेट करते हैं तो आप वास्तविक रूप से 2 डीमिशन सरणी का पृष्ठ डालते हैं जब 2 डी सरणी में 1 से अधिक गहराई होती है तो हम 3 डी सरणी बनाते हैं। इस अवधारणा को गहराई से जानने के लिए यह Article देखें।

enter image description here

यह करने के लिए आसान स्वरूपों में से एक है: और Programming

1

में इस्तेमाल के लिए इस लेख यह भी इस जैसे एक "पिवट" प्रारूप में एक n आयामी सरणी, प्रतिनिधित्व करने के लिए संभव है दो आयामों के साथ एक सरणी के लिए उत्पन्न और पढ़ें।

+0

अच्छा है। मेरी इच्छा है कि LINQPad इसे इस तरह से मुद्रित करे। – Bobson

संबंधित मुद्दे