Array
एक Array contiguous memory locations पर stored Item का एक collection है। Array में एक ही प्रकार के Data को store किया जाता हैं
Array ऐसा Data type (डेटा टाइप) है जिसमें एक ही नाम में एक से अधिक Values (वैल्यूज़) को स्टोर करवाया जा सकता है। 'C language' में यह सभी डेटा समान Data-Type (डेटा टाइप) का होना चाहिए।
Array एक ऐसा data type हैं जिसमें similar data को contiguous memory locations पर स्टोर करवाया जाता हैं जब हमें एक ही प्रकार की एक से अधिक वैल्यू को स्टोर कराना होता है तो उसके लिए एक से अधिक Variables का use किया जा सकता हैं । किन्तु ऐसा करने पर उन सभी Variables को प्रयोग में लेना आसान नहीं रहता है। for Example एक Company के 100 Employees के Names को स्टोर कराने के लिए 100 वेरिएबलों का प्रयोग करना उचित नहीं है। ऐसी स्थिति में दूसरा और बेहतर विकल्प Array के रूप में सामने आता है, जिसमें एक ही Variable में एक से अधिक वैल्यू स्टोर की जा सकती है।
इस प्रकार स्टोर सभी वैल्यूज़ को मैमोरी में contiguous या linear में स्टोर किया जाता है। प्रत्येक वैल्यू को प्रयोग में लेने के लिए Array के Index Number (इंडेक्स नंबर) का प्रयोग किया जाता है। almost सभी programming languages में यह Index Number (इंडेक्स नंबर) Zero(0) से प्रारंभ होते हैं।
उदाहरण के लिए 10 Employees की id स्टोर करने तथा 5वें Employee की id को प्रिंट कराने के लिए 'C Language' में निम्नानुसार Statement दिए जा सकते हैं:
ऊपर दिए गए Example में [4] Index हैं हो कि 5 वें Employee के id को दर्शा रहा हैं।
One Dimensional Array
One dimensional Array (वन डायमेंशनल एरे) को हम एक List के रूप में समझ सकते हैं जिसमें एक से अधिक Member होते हैं। इसे प्रयोग में लेने के लिए सिर्फ एक ही dimensional का प्रयोग किया जाता है। एरे को Declare करने के लिए प्रारूप निम्न प्रकार है:
Example:-
उपरोक्त Statement 5 Integer को Store करने के लिए Memory Allocate करेगा। चूंकि Integer 2 byte लेता है, अतः यह Statement Memory में एक क्रम में (5*2) = 10 byte Allocate कर देगा।
उपरोक्त Array के प्रथम Element को access कर के लिए हमें marks[0] तथा तीसरे Element को access कर के लिए marks[2] लिखना होगा। इसी प्रकार Last Elements के लिए marks[4] लिखना होगा। यदि यहां पर Array के Size को N माना जाए तो N की Value 5 होगी। इस प्रकार यह कहा जा सकता है कि Array का Last Elements N-1 Index पर होता है। इसी प्रकार यह भी कहा जा सकता है कि Array का size निम्नांकित फॉर्मूले से निकाला जा सकता है:
size = (Upper-Limit - Lower-Limit) + 1
size = (4 - 0) + 1
size = 5
Initialization of Array
किसी Array में Program के Run होने के दौरान Value इनपुट में दी जा सकती हैं। इसके अतिरिक्त Array को Declare करते समय भी वैल्यूज़ दी जा सकती हैं। यह Initialization Compile Time पर किया जाता है।
Array में value Store(वैल्यू स्टोर) करते समय यह बताना होता है कि वह वैल्यू किस index number(इंडेक्स नंबर) या क्रम पर स्टोर होगी। index number(इंडेक्स नंबर) 0(zero) से प्रारंभ होता है। उपरोक्त उदाहरण में 5 वैल्यू के लिए इंडेक्स नंबर 0,1,2,3 तथा 4 होंगे। इंडेक्स नंबर वैल्यू की एरे में position(पोजीशन) बताती है।
Example:-
Traversal of the one-dimensional array
Array के Traversal (ट्रावर्जल) से आशय उसके सभी Elements (एलीमेंट्स) को Process करने से है। सामान्यतया, Traversal (ट्रावर्जल) में संबंधित Element को print करा दिया जाता है। एरे को ट्रावर्ज़ करने के लिए Index Number (इंडेक्स नंबर) का प्रयोग किया जाता है। इसके लिए हमें एक loop चलाना होता है, जो कि Array के lower bound से upper bound तक चलाया जाता है।
1. Algorithm for Traversal of the one-dimensional array
ARR[] : Array
LB : Lower Bound
UB : UpperBound
Traverse(Arr[])
Step1 | //Initialize a count I = LB |
Step2 | while(I<UB) repeat print ARR[I] I = I + 1 end while |
Step3 | Stop |
Example:-
Output:-
Enter No. of Elements: 5
Enter 5 Elements in Array
Enter value for arr[0] : 9
Enter value for arr[1] : 6
Enter value for arr[2] : 4
Enter value for arr[3] : 8
Enter value for arr[4] : 1
press any key to start Traversal of Array...
arr[0] : 9
arr[1] : 6
arr[2] : 4
arr[3] : 8
arr[4] : 1
Explain Example
Array Traversal से आशय प्रत्येक Elements को visit करने से होता है। उपरोक्त Program में प्रत्येक Elements को प्रिंट करवाया गया है। इस मे पहले user से value input में लेकर Array (arr[]) में Store करवाई गई हैं तथा फिर उस को traversal() function बना कर उसे विज़िट किया गया हैं।
Insertions Data to a 1-D Array
Array में नया Element (एलीमेंट) Insert करने के लिए यह पता होना चाहिए कि वह Element (एलीमेंट) Array में किस Position पर जोड़ा जाना है। जोड़ी जाने वाली वैल्यू Array में कहां Insert करनी है, यह निम्नांकित में से किसी एक विधि से पता किया जा सकता है:
- यदि सीधे ही Index Number (इंडेक्स नंबर) दिया गया हो ।
- यह दिया गया हो कि नया एलीमेंट किस Element (एलीमेंट) के बाद या पहले जोड़ना है। ऐसी स्थिति में searching के माध्यम से Index Number (इंडेक्स नंबर) ज्ञात किया जाता हैं।
Array में जब भी कोई नया Element (एलीमेंट) जोड़ना हो तो निम्नांकित में से कोई एक स्थिति हो सकती है:
- नया Element जोड़ने के लिए दी गई Position उपलब्ध हो।
- नया Element जोड़ने के लिए दी गई Position उपलब्ध नहीं हो।
Array में Data को जोड़ने के लिए Program बनाते समय Array का Size क्या रखा जाए? यह Size User अपनी आवश्यकतानुसार रख सकता है। यह Size इतना बड़ा होना चाहिए जो सामान्य आवश्यकताओं की पूर्ति कर सके। उदाहरण के लिए मानते हैं कि हमने 20 एलीमेंट की क्षमता का Array बनाया। इसमें कुल 10 Values Insert कर चुके हैं जो कि क्रमशः Index Number 0 से 9 तक पर स्थित हैं । अब यदि यूज़र Index Number 5 पर नया Element जोड़ना चाहता है तो हमें पहले Index Number 5 से लेकर 9 तक के सभी Elements को आगे Move कराना होगा। इसके लिए Index Number 9 के Element को Index Number 10 पर, 8 के एलीमेंट को Index Number 9 पर, 7 के एलीमेंट को Index Number 8 पर, तथा इसी प्रकार शेष Elements को Move कराना होगा। ऐसा कर देने के पश्चात् Index Number 4 पर नया एलीमेंट Insert किया जा सकता है।
दूसरी तरफ यदि Array में 20 वैल्यूज़ होती तो उसमें नया एलीमेंट Insert नहीं करवाया जा सकता है।
Inserting Elements into Array at the Beginning
मान लेते हैं कि Array की क्षमता 10 एलीमेंट (integers) की है, जिसमें 6 Element पहले से Insert किए जा चुके हैं।
2 | 9 | 7 | 8 | 27 | 12 | ||||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
इसमें हमें प्रारंभ में वैल्यू 108 Insert करनी है। प्रारंभ से आशय Index Number 0 से है। चूंकि उपरोक्त उदाहरण में एरArray में जगह खाली है, अतः नई वैल्यू Insert करने के लिए हमें सभी एलीमेंट्स को एक-एक Index आगे Move करना होगा।
2 | 9 | 7 | 8 | 27 | 12 | ||||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
इस प्रकार खाली हुए Index Number पर न्यू value Insert करवाई जा सकती हैं।
108 | 2 | 9 | 7 | 8 | 27 | 12 | |||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
2. Algorithm for inserting elements into an array at the beginning
ARR[] : Array, जिंसमे value Insert की जानी हैं।
Val : Value, जो Insert की जानी हैं।
N : Array में मौजूद Elements की संख्या
SIZE : Size of Array
InsertAtBeginning(ARR[], VAL,N,SIZE)
Step 1: | if (N >= SIZE) then print "Error ....." return end if |
Step 2: | I = N |
Step 3: | while (I > 0) repeat ARR[I] = ARR[I - 1] I = I - 1 |
Step 4: | ARR[0] = VAL |
Step 5: | N = N + 1 |
Step 6: | stop |
Example:-
Output:-
Number of Elements in Array: 5
Enter value of arr[0] : 2
Enter value of arr[1] : 1
Enter value of arr[2] : 3
Enter value of arr[3] : 4
Enter value of arr[4] : 6
Before inserting New Elements
arr[0] : 2
arr[1] : 1
arr[2] : 3
arr[3] : 4
arr[4] : 6
Enter New Value In Array: 23
After inserting New Elements
arr[0] : 23
arr[1] : 2
arr[2] : 1
arr[3] : 3
arr[4] : 4
arr[5] : 6
Inserting Elements into Array at the End
Array के End में Value Insert करने के लिए Data को Move कराने की आवश्यकता नहीं होती है। उदाहरण के लिए मान लेते हैं कि Array की max size 10 Integers की है, जिसमें 6 एलीमेंट पहले से दिए जा चुके हैं।
2 | 9 | 7 | 8 | 27 | 12 | ||||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
इसमें हमें End में value 108 Insert करनी है। इसके लिए हमें यह जानना आवश्यक है कि Array में End Element का Index Number (इंडेक्स नंबर) क्या है, ताकि हम सही Index Number (इंडेक्स नंबर) पर नया एलीमेंट जोड़ सकें। इसके साथ ही हमें यह भी check होगा कि Array नया Elements जोड़ने के लिए Array में Space भी है या नहीं। नई वैल्यू को Array में जोड़ने के पश्चात् Array निम्नानुसार होगाः
2 | 9 | 7 | 8 | 27 | 12 | 108 | |||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
Array में नया Element जोड़ देने के पश्चात् Array के Last Index में भी एक से Increment(इंक्रीमेंट) करना होगा। उपरोक्त उदाहरण में नया Element (एलीमेंट) जोड़ने से पूर्व Element (एलीमेंट) last Element का Index 5 था. इसमें नया Element जोड़ देने के पश्चात् इसमें Increment(इंक्रीमेंट) करते हुए 6 कर दिया जाएगा।
3. Algorithm for inserting elements into array at the End
ARR[] : Array, जिंसमे value Insert की जानी हैं।
Val : Value, जो Insert की जानी हैं।
N : Array में मौजूद Elements की संख्या
SIZE : Size of Array
Step1: | if (N >= SIZE) then print "Error ....." return end if |
Step2: | ARR[N] = VAL |
Step3: | N = N + 1 |
Step4: | Stop |
Example:-
Output:-
How many elements do you want to store in Array: 5
Now enter 5 Elements, one-by-one :
arr[0] : 3
arr[1] : 6
arr[2] : 4
arr[3] : 2
arr[4] : 1
Before insertion Elements are :
3
6
4
2
1
Enter element to INSERT at END : 56
Element added successfully.
After insertion, Elements are:
3
6
4
2
1
56
Inserting Elements into Array at Given Position
Array में दी गई Position पर Value (वैल्यू) जोड़ने के लिए उस Position (पोज़िशन) से आगे के Data को Move कराने की आवश्यकता होती है। उदाहरण के लिए मान लेते हैं कि Array की Size 10 है, जिसमें 6 एलीमेंट पहले से दिए जा चुके हैं।
2 | 9 | 7 | 8 | 27 | 12 | ||||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
यदि इसमें हमें Index Number 3 पर Element जोड़ना है तो Index Number 3 सहित उसके बाद की सभी वैल्यूज़ को आगे Move करना होगा ।
2 | 9 | 7 | 8 | 27 | 12 | ||||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
इसके बाद Index Number 3 पर निम्नानुसार New Element Insert किया जा सकता है:
2 | 9 | 7 | 108 | 8 | 27 | 12 | |||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
3. Algorithm for inserting elements into the array at the Given Position
ARR[] : Array, जिंसमे value Insert की जानी हैं।
Val : Value, जो Insert की जानी हैं।
IND :Index Number, जहाँ पर value insert की जानी हैं।
N : Array में मौजूद Elements की संख्या
SIZE : Size of Array
InsertAtPos(ARR[], VAL, IND, N, SIZE)
Step1: | if(N >= SIZE) then print "Error...." return end if |
Step2: | I = N |
Step3: | while(I > IND) repeat ARR[I] = ARR[I - 1] I = I - 1 end while |
Step4: | ARR[IND] = VAL |
Step5: | N = N + 1 |
Step6: | Stop |
Example:-
Output:-
How many elements do you want to store in Array: 5
Now enter 5 Elements, one by one:
arr[0] : 6
arr[1] : 5
arr[2] : 4
arr[3] : 9
arr[4] : 3
Before insertion, the Elements are :
6
5
4
9
3
Enter New element to INSERT: 12
Enter Index Number of new value: 2
Element added successfully.
After insertion, the Elements are:
6
5
12
4
9
3
Deletion of an element from Array:-
Array से किसी Element को Delete करने का कार्य भी तीन प्रकार से किया जा सकता है:
- Array के शुरूआत से Element Delete करना
- Array के अंत से Element Delete करना
- दी गई Position से Element Delete करना
जब भी Array से किसी Array को Delete किया जाता है तो Array में रखे गए Elements की संख्या 1 से घटा दी जाती है।
जब किसी Element को Array से Delete किया जाता है तो प्रत्येक स्थिति में, Delete किए गए एलीमें Elements की Position पर उसके बाद वाले Elements को Move कर दिया जाता है। यह प्रक्रिया में Last Element तक चलती है। उदाहरण के लिए यदि Array निम्नानुसार है:
2 | 9 | 7 | 8 | 27 | 12 | ||||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
तथा इसमें से 0 Index के Element को Delete किया जाना है तो 0 Index पर Index 1 की Value, तथा Index 2 पर Index 3 की value को Store करना पड़ेगा। यही प्रक्रिया Last Element तक चलेगी। इसके पश्चात् Array निम्नानुसार हो जाएगाः
9 | 7 | 8 | 27 | 12 | |||||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
इसी प्रकार यदि दी गई Position (पोज़िशन) से Element (एलीमेंट) को Delete किया जाना है तो उपरोक्त कार्य Index 0 से Start करने की बजाए दिए गए Index (Position) से start करना होगा। और यदि Element को अंत से Delete किया जाना है तो कोई भी Move Operation नहीं किया जाएगा।
Delete an element from the beginning of the array
Algorithm:-
ARR[] : Array जिसमें से Element Delete करना हैं।
N : total Element in Array
DeleFromStart(ARR[], N)
Step1: | // initialize a counter I = 0 |
Step2: | while(I < N) repeat ARR[I] = ARR[I + 1] I = I + 1 end while |
Step3: | N = N - 1 |
Step4: | Stop |
Example:-
Delete an element from the given position
Algorithm:-
ARR[] : Array जिसमें से Element Delete करना हैं।
N : total Element in Array
DeleAtGivenPosition(ARR[], IND, N)
Step1: | // initialize a counter I = IND |
Step2: |
while(I < N) repeat ARR[I] = ARR[I + 1] I = I + 1 end while |
Step3: | N = N - 1 |
Step4: | Stop |
Example:-
Delete an element from the end of Array
Algorithm:-
ARR[] : Array जिसमें से Element Delete करना हैं।
N : total Element in Array
DeleFromStart(ARR[], N)
Step1: | // initialize a counter ARR[N - 1] = 0; |
Step3: | N = N - 1 |
Step4: | Stop |
0 Comments