Linear Arrays
Linear Arrays
Array
एक ऐसा Data Structure होता है, जिसमें एक ही Data
Type के n Data Items एक List के रूप में Store हो सकते हैं , जबकि n Array
की Size को Define करता
है , यदि किसी Array की Size n हो व n
का मान 10 हो तो उस Array में हम केवल दस Data Items Store करके रख सकते हैं |
Array
के हर Item को उसके Index Number से Access किया जाता है |
किसी
Array
का प्रथम Item हमेशा Index Number0 पर Store होता है और Array का
अंतिम Item हमेंशा Index Number n-1 पर
Store होता है |
किसी
Array
के Index Number0 को Array का Lower Bound और Index Number n-1 को Array का Upper Bound कहते
हैं | किसी Array
की Length या Size को हम
निम्न सुत्र द्वारा प्राप्त कर सकते हैं |
SIZE
=UB +1
जहां
UB
= Upper Bound
LB = Lower Bound
हम
किसी भी Index
Number को हमेंशा Bracket के बीच लिखते हैं |
जैसे
यदि हमें किसी Array के Index Number4 के Data Item को Access करना
हो तो हम Array [4] लिखते हैं |
Array
भी तीन तरह के होते हैं |
1.
One – Dimensional Array
2.
Two – Dimensional Array
3.
Multi – Dimensional Array
ऊपर
जो प्रारूप समझाया गया है , वह One Dimensional Array का प्रारूप है | यदि
किसी Array
को Declare करते समय एक के बजाय दो Brackets
में Array की Size को Define
कर दिया जाए , तो यह एक Two Dimensional Array बन जाता है और यदि Array की Size को दो से अधिक Brackets में दे दिया जाए तो यह Multi
Dimensional Array हो जाता है |
जब
Array
को Declare किया जाता है , तब वह Memory
में वही जाकर Store होता है , जहां उसमें Define
की गई पूरी जगह उसे क्रम से प्राप्त हो जाए |
जब
हमें कोई Table या सारणी Memory में Store करनी होती है , तब हम Two
Dimensional Array का प्रयोग करते हैं |
इसमें
एक Dimensional
Row की व दूसरी Dimension Column की होती है
और इसे हम अग्रानुसार प्रदशित कर सकते हैं |
माना
तीन Student
के Hindi , English व Science में क्रमशः निम्नानुसार मान प्राप्त हुए हैं |
यदि हम इसे किसी Array में Store करना चाहें तो उस Array में ये मान निम्नानुसार विभन्न Memory Locations पर Store होंगे व इन्हें निम्नानुसार Index Numbers प्राप्त होंगे जिनसे इनकी पहचान होगी
इसमें
प्रथम विद्यार्थी के Hindi के अंक 50
Memory Location के Index Number 0,0 पर Store
होंगे | English
के अंक 0,1 Location व Science के अंक 0,2 Location पर Store होंगे
| इसी प्रकार दूसरे
विद्यार्थी के Hindi के अंक Memory में 1,0 Index Number के Location पर , English के अंक 1,1 Location पर व Science के अंक 1,2 Location पर Store होंगे |
इसे
गणितीय रूप में हम निम्नानुसार लिख सकते हैं |
Student
[0,0] 50
Student
[0,1] 46
Student
[0,2] 65
Student
[1,0] 55
Student
[1,1] 44
Student
[1,2] 56
Student
[2,0] 45
Student
[2,1] 54
Student
[2,2] 75
हम
इस Table
को Row व Column में
प्रदर्शित कर सकते हैं , लेकिन Memory में ये एक लगातार क्रम
में Store होते हैं और इनकी पहचान इनके Index Number के आधार पर ही होती है | इस
प्रकार यदि Index Number बदल जाता है , तो Memory
Location भी बदल जाती है और Store होने वाला
मान कभी भी किसी एक Memory Location पर Store नहीं होता | यदि
Two
Dimensional Array को Declare करना हो तो हम
निम्न Format का प्रयोग करते हैं –
Data_TypeArray_Name
[Row Size] [Column Size]
इस
प्रकार उपरोक्त उदाहरण का Array निम्नानुसार Declare
होगा –
int
Student [3] [3]
तीन
Student
के कारण Row की संख्या तीन है व तीन विषय के
कारन Column की संख्या तीन है |
इनका
क्रम आपस में बदला भी जा सकता है , यानी Row की
जगह Column व Column की जगह Row
की Size भी दी जा सकती है |
Two
Dimensional Array में हम एक Array में Row
व Column की संख्या के गुणनफल के बराबर संख्या
में Elements Store कर सकते हैं |
Two
Dimensional Array को भी इसी प्रकार से Declare किया जा सकता है और उसमें Store होने वाले Elements
की संख्या उनकी Define की गई कुल Brackets
की Size के गुणनफल के बराबर होती है |
माना
हम एक Multi
Dimensional Array निम्नानुसार Declare करते
है |
int
x[2] [2] [3];
तो
यह Statement
Memory में कुल 2x2x3 =12 Element Store कर
सकेगा |
इस
प्रकार हम Array को Use कर
सकते हैं और एक Array को एक ही प्रकार के बहुत सारे Data
को एक ही Variable में Store करने के लिए प्रयोग किया जा सकता है |
Array
के User Defined Data Type है |
हम
विभन्न प्रकार की सारी Arithmetical , Relational , Logical आदि क्रियाएं Array के साथ कर सकते हैं |
जैसे
उपर के एक उदाहरण में Students के तीन विषयों में
प्राप्त अंकों को हमें जोड़ना हो और हर विद्यार्थी के कुल अंक ज्ञात करने हो , तो
हमें निम्न प्रकार से उन्हें जोड़ सकते हैं |
Student
1 के कुल अंक
tot = student1 [0,0] +
student1[0,1] + student1[0,2]
इस
Statement
से प्रथम विद्यार्थी के अंक जो कि क्रमशः Index Number [0,0]
, [0,1] , [0,2] पर स्थित है , वे जुड कर Variable tot में प्राप्त जो जाते हैं |
ध्यान
दे कि किसी भी Array में Index Number यह बताता है कि हमने जो मान किसी Array में दिया है
, वह मान Memory में किसी Array की किस
Location पर स्थित है |
यह
एक Address
होता है ना कि कोई मान |
किसी
भी Array
में स्थित मान को हम केवल उसके Index Number के
द्वारा ही Access कर सकते हैं |
Index
Number एक Address होता है , जो किसी Element
की मेमोरी में स्थिति बताता है |
इसलिए
यहां पर प्रथम विद्याथी के प्राप्तांकों को जोड़ने के लिए उनके Index
Number के द्वारा उनका मान प्राप्त किया गया है ना कि सीधे ही
प्राप्तांको को जोड़ दिया गया है |
एक
Array
को जब हम Declare करते हैं तब वास्तव में हम
एक ही बार में ढेर सारे Variables Declare कर रहे होते हैं |
जैसे
हम किसी Variable
में पाच विद्यार्थियों के Roll Number Input करना
चाहते हैं | इस काम के लिए हम
साधारण तौर पर पांच Variable निम्नानुसार Declare
कर सकते हैं |
int
roll_number0,
int
roll_number1,
int
roll_number2,
int
roll_number3,
int
roll_number4;
यही
काम हम एक बार में एक Array द्वारा भी कर सकते
हैं , यानी
int
roll_number [5]
यदि
हम इस Array
को एक दूसरे तरीके से लिखें , तो इसे निम्नानुसार भी लिख सकते हैं |
roll_number
[0]
roll_number
[1]
roll_number
[2]
roll_number
[3]
roll_number
[4]
roll_number
[5]
यदि दोनों प्रकार से Declare किए गए Variables की तुलना करें तो हम देखते हैं कि दोनों ही तरह से Variables सामान ही Declare हुए हैं | यानी
यहां
Array
वही काम कर रहा है जो हम पांच Variables Declare कर के करने वाले हैं | इस
प्रकार ऐसी व्यवस्था है , जो हमें एक ही समय में एक ही प्रकार के बहुत सारे Variables
Declare करने की सुविधा प्रदान करता है |
यानी
हम Declare
तो एक ही Variable करते हैं लेकिन Index
Number के कारण एक ही Variable की उतनी ही
प्रतिलिपि बन जाती है जितनी हमने Array की Size दी होती है , और हर Variable के साथ स्वयं ही एक Index
Number “C” Compiler लगा देता है , जो किसी भी प्रतिलिपि का Memory
में Address उपलब्ध करवाता है या किसी भी Array
Variable को Access करने का तरीका उपलब्ध
करवाता है , जिससे हम उस Variable को Access कर सकते हैं |
No comments