Бағдарламалу технологиясы


Тізім типіндегі құрылыммен жұмыстарды ұйымдастыру



жүктеу 1,63 Mb.
бет60/73
Дата03.02.2022
өлшемі1,63 Mb.
#35497
түріОқулық
1   ...   56   57   58   59   60   61   62   63   ...   73
Ба?дарламалу технологиясы

11.4 Тізім типіндегі құрылыммен жұмыстарды ұйымдастыру

Тізім типіндегі әр түрлі, құрылымдар болады. C# тілінде олар үшін арнайы List, ArrayList, LinkedList , т.б. кластар дайындалған. Объекттердің динамикалық массивтері болып келетін List және ArrayList кластары жиі қолданылады. (11.3, 11.4 кестелері).


11.3-кесте –ArrayList класының негізгі қасиеттері

Кластың қасиеті

Сипаттамасы

public virtual int Capacity {get;}

Осы қасиет оқу үшін ғана арналған, коллекция ағымдағы сыйымдылығын сақтайды.

public virtual int Count {get;};

Осы қасиет оқу үшін ғана арналған, коллекцияның ағымдағы ұзындығын сақтайды.

11.4-кесте – ArrayList класының негізгі әдістері



Кластың әдістері

Сипаттамасы

public static ArrayList (IList: List);

List коллекциясы негізінде ArrayList объектісі құрылады

public virtual int Add(Oblect Value);

Тізім соңына жаңа объектті қосады, оның индексін қайтарады.

public virtual viod AddRange (ICollection coll);

Тізім соңына бірнеше объекттерді қосады

public virtual int BinsrySearch(Qbject Value);

Сұрыпталған тізімде Value объектісін табады және оның индексін қайтарады. Егер табылмаса, теріс санды қайтарады.

public virtual bool Containse (Object Value);

Егер коллекцияда Value элементі бар болса, true қайтарылады.

public static ArrayList FixedSize(ArrayList AL);

Әдіс элементтерін өзгертуге болатын, бірақ қосуға немесе жоюға болмайтын объекттерді қайтарады,

public virtual IEnumerator GetEnumerator();

Объект үшін итераторды қайтарады.

public virtual ArrayList GetRange(int Indx, int Count);

Элементтер диапазонын қайтарады.

public virtual int IndexOf(Object Value);

Value мәні бар элемент индексін қайтарады.

public virtual void Insert (int Indx, Object Value);

Коллекцияның керекті Indx орнына Value элементін қосады.

public virtual void InsertRange(int Indx, IColliction col);

Элементтер диапазонын қосады

public virtual bool IsFixedSize{get;}

Егер объекттің белгіленген өлшемі болса, true қайтарылады.

public virtual bool IsReadOnly{get;}

Объектте оқуға ғана арналған элементтер болса , true қайтарылады.

public virtual int LastIndexOf(Object Value);

Коллекцияда соңғы рет кездесетін Valiue мәнінің индексін қайтарады.

public static ArrayList ReadOnly(ArrayList AL);

Коллекция элементтеріне оқуға ғана рұқсат беретін режімді орнатады.

public virtual void Remove (Object Value);

Коллекциядан мәні Value болатын бірінші элементті жояды.

public virtual void RemoveAt (int Indx);

Коллекциядан индексі Indx болатын элементті жояды.

public virtual void RemoveRange(int Indx, int count);

Коллекциядан индексі Indx болатын элементтен бастап count элементтерін жояды.

11.4-кестесінің жалғасы

Кластың әдістері

Сипаттамасы

public virtual Object this[int Indx]{set; get;}

Осы қасиет элементтерге индексі бойынша қатынасуға мүмкіндік береді

public static ArrayList Repeat(Object Value, int count);

Value элементі count рет қайталанатын коллекцияны қайтарады.

public virtual void Reverse();

Элементтердің ретін кері бағытқа өзгертеді.

public virtual void SetRange (int Indx, ICollection col);

Indx индексінен бастап col коллекциясын қосады.

public virtual void Sort();

Коллекцияны сұрыптайды.

public virtual void TrimToSize();

Коллекцияға элементтерінің санына тең болатын сыйымдылықты орнатады.

public virtual void Clear();

Коллекцияның барлық элементтерін жояды.

ArrayList коллекциясының алғашқы сыйымдылығы 16-ты элементке тең. Коллекцияны кеңейту кезінде оның сыйымдылығы екі есе үлкейеді және 32, 64, 128, т.б. құрайды. TrimToSize() әдісі қолданылмайтын элементтерді өшіреді.

Бағдарлама кодының мысалы:

using System;

using System.Collections;

using System.Text;

namespace ConsoleApplication1

{

struct Avto



{

public String Marka; //автомобильдің үлгісі

public String Voditel; // жүргізушінің аты-жөні

public int Stoim; // автомобильдің бағасы

public int God; // шығарылған жылы

}

class Program



{

public static int kol = 0;

public static Avto avto = new Avto();

static ArrayList Garaj = new ArrayList();

public static void addcpi()

{

int b;



int kol;

string buf;

Console.WriteLine("Avtomobil sani");

buf = Console.ReadLine();

kol = Convert.ToInt32(buf);

for (int i = 0; i < kol; i++)

{

Console.WriteLine("{0}-Avtomobildin ylgisin engiziniz", i + 1);



buf = Console.ReadLine();

avto.Marka = buf;

Console.WriteLine("{0}-Avtomobil zhyrgizyshinin ati-zhoni", i + 1);

buf = Console.ReadLine();

avto.Voditel = buf;

Console.WriteLine("{0}-Avtomobildin bagasi", i + 1);

buf = Console.ReadLine();

b = Convert.ToInt32(buf);

avto.Stoim = b;

Console.WriteLine("{0}-Avtomobildin shikkan zhili", i + 1);

buf = Console.ReadLine();

b = Convert.ToInt32(buf);

avto.God = b;

Garaj.Add(avto);

}

}

public static void printcpi()



{

Console.WriteLine("{0,20}, {1, 20}, {2, 15}, {3, 15}",

"Ylgisi", "Zhyrgizyshi ati-zhoni", "Avtom. bagasi", "Avtom. shikkan zhili");

foreach (Avto T in Garaj)

Console.WriteLine("{0,20}, {1, 20}, {2, 15}, {3, 15}",

T.Marka, T.Voditel, T.Stoim, T.God);

}

public static void ydalelemcpi()



{

int n;


string buf;

Console.WriteLine("Zhoilatin zhazba nomeri?");

buf = Console.ReadLine();

n = Convert.ToInt32(buf);

// элементті номері бойынша жоямыз

Garaj.RemoveAt(n);

}

static void Main()



{

// тізімді құрамыз және тоолтырамыз

addcpi();

// тізімді шығарамыз

printcpi();

// элементті номері бойынша жоямыз

ydalelemcpi();

// тізімді шығарамыз

printcpi();

Console.ReadLine();

}

}

}



Бағдарлама жұмысы:

Avtomobil sani

3

1-Avtomobildin ylgisin engiziniz



Лада

1-Avtomobil zhyrgizyshinin ati-zhoni

Петров

1-Avtomobildin bagasi



2000

1-Avtomobildin shikkan zhili

2007

2-Avtomobildin ylgisin engiziniz



Фиат

2-Avtomobil zhyrgizyshinin ati-zhoni

Иванов

2-Avtomobildin bagasi



3000

2-Avtomobildin shikkan zhili

2008

3-Avtomobildin ylgisin engiziniz



БМВ

3-Avtomobil zhyrgizyshinin ati-zhoni

Сидоров

3-Avtomobildin bagasi

4000

3-Avtomobildin shikkan zhili



2006

Ylgisi, Zhyrgizyshi ati-zhoni, Avtom. bagasi, Avtom. shikkan zhili

Лада, Петров, 2000, 2007

Фиат, Иванов, 3000, 2008

БМВ, Сидоров, 4000, 2006

Zhoilatin zhazba nomeri?

1

Ylgisi, Zhyrgizyshi ati-zhoni, Avtom. bagasi, Avtom. shikkan zhili



Лада, Петров, 2000, 2007

БМВ, Сидоров, 4000, 2006




жүктеу 1,63 Mb.

Достарыңызбен бөлісу:
1   ...   56   57   58   59   60   61   62   63   ...   73




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау