Դաս 14 Objective-C։ Զանգվածներ

0

Objective-C ծրագրավորման լեզուն ապահովում է data structure, որը կոչվում է զանգված՝ array: Այն կարող է տեղավորել ֆիքսված քանակով և հերթականությամբ նույն տիպի էլեմենտների շարք: Զանգվածը կիրառվում է տվյալների պահպանման համար, սակայն այն կարող է դիտարկվել նաև որպես նույն տիպի փոփոխականների հավաքածու:

Մեկ անհատական փոփոխական հայտարարելու փոխարեն ինչպես օրինակ՝ number0, number1, …, and number99, Դուք կարող եք հայտարարել մեկ զանգվածով փոփոխական՝ numbers և օգտագործել numbers[0], numbers[1], և այլն…, numbers[99] անհատական փոփոխականներ ներկայացնելու համար: Զանգվածի սպեցիֆիկ էլեմենտները հասանելիություն են ստանում index.

Բոլոր զանգվածներն ունեն իրենց հիշողության լոկացիաները: Ամենափոքրը համընկնում է առաջին էլեմետի հետ, իսկ ամենամեծը՝ վերջին։

arrays

Զանգվածների հայտարարումը

Objective-C-ում զանգված հայտարարելու համար պետք է նշել զանգվածի համար անհրաժեշտ էլեմենտների տեսակն ու թիվը՝

type arrayName [ arraySize ];

Սա կոչվում է single-dimensional  զանգված: arraySize –ը (չափը) պետք է լինի 0-ից մեծ ամբողջ թիվ, իսկ տեսակը (type) կարող է լինել ցանկացած վավեր (valid) Objective-C data type: Օրինակ՝ 10 էլեմենտ ունեցող, double type-ի զանգված հայտարարելու համար, որի անունն է balance, պետք է օգտագործել հետևյալ հայտարարությունը՝

double balance[10];

Այժմ balance-ը փոփոխականների զանգված է, որը կարող է տեղավորել  10 double թվեր:

Զանգվածի հայտարարում

Objective-C-ում կարող եք զանգվածը initialize կամ մեկ առ մեկ, կամ հետևյալ օրինակի նման մեկ հայտարարության օգնությամբ՝

double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};

Փակագծերի { } միջև արժեքներ քանակը չի կարող ավելի շատ լինել քան էլեմենտների թիվը, որոնք մենք հայտարարում ենք  այս փակագծերի [ ]  միջի զանգվածի համար: Ահա մի օրինակ, թե ինչպես կարելի է սահմանել զանգվածի մեկ էլեմենտ՝

Եթե բաց թողնեք զանգվածի չափը, ապա կստեղծվի մի զանգված որը կարող է պահպանել միայն initialization-ը: Այսինքն Դուք պիտի գրեք՝

double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};

Դուք պիտի ստեղծեք լրիվ միևնույն զանգվածը, ինչ որ նախորդ օրինակում էր՝

balance[4] = 50.0;

Վերոնշյալ հայտարարությունը նշանակում է թիվ 5 էլեմենտը 50.0 արժեքով զանգվածում: 4-րդ ինդեքսով զանգվածը կլինի 5-րդը և այլն: Ահա դրա պատկերավոր բացատրությունը՝

array_presentation

Accessing Array Elements

Էլեմենտին կարելի է հասնել զանգվածի անունն ինդեքսավորելով: Դա արվում է էլեմենտի ինդեքսը զանգվածի անվանումի քառակուսի փակագծերի մեջ տեղադրելով: Օրինակ՝

double salary = balance[9];

Վերոնշյալ օրինակը կվերցնի զանգվածի 10-րդ էլեմենտը և կսահմանի արժեքը salary փոփոխականին: Ահա մի օրինակ, որը կօգտագործի արդեն քննարկված երեք կոնցեպտները՝ declaration, assignment և accessing arrays՝

#import <Foundation/Foundation.h>
 
int main ()
{
   int n[ 10 ]; /* n is an array of 10 integers */
   int i,j;
 
   /* initialize elements of array n to 0 */         
   for ( i = 0; i < 10; i++ )
   {
      n[ i ] = i + 100; /* set element at location i to i + 100 */
   }
   
   /* output each array element's value */
   for (j = 0; j < 10; j++ )
   {
      NSLog(@"Element[%d] = %d\n", j, n[j] );
   }
 
   return 0;
}

Երբ վերոնշյալ կոդը կոմպիլացվում և իրականացվում է, մենք ստանում ենք հետևյալ արդյունքը՝

2013-09-14 01:24:06.669 demo[16508] Element[0] = 100
2013-09-14 01:24:06.669 demo[16508] Element[1] = 101
2013-09-14 01:24:06.669 demo[16508] Element[2] = 102
2013-09-14 01:24:06.669 demo[16508] Element[3] = 103
2013-09-14 01:24:06.669 demo[16508] Element[4] = 104
2013-09-14 01:24:06.669 demo[16508] Element[5] = 105
2013-09-14 01:24:06.669 demo[16508] Element[6] = 106
2013-09-14 01:24:06.669 demo[16508] Element[7] = 107
2013-09-14 01:24:06.669 demo[16508] Element[8] = 108
2013-09-14 01:24:06.669 demo[16508] Element[9] = 109

Objective-C Զանգվածները մանրամասն

Զանգվածները շատ կարևոր են Objective-C-ում: Ահա դրանց վերաբերյալ մի քանի կոնցեպտներ՝

Կոնցեպտ Նկարագիր
Բազմաչափ զանգվածներ Objective-C-ն ապահովում է multidimensional զանգվածներ: Դրա պարզագույն ձևը two-dimensional զանգվածն է:
Զանգվածների փոխանցումը ֆունկցիայի Դուք կարող եք փոխանցել ֆունկցիային զանգվածը՝ նշելով զանգվածի անվանումը առանց ինդեքսի
Ֆունկցիայից զանգվածի վերադարձը Objective-C-ն թույլ է տալիս ֆունկցիային զանգված վերադարձնել
Զանգվածի ցուցիչները Դուք կարող եք ստեղծել pointer զանգվածի առաջին էլեմենտին՝ պարզապես, նշելով զանգվածի անվանումը առանց ինդեքսի

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.