Динамични структури от данни Декември - компютърни науки, програмиране

Министерство на образованието и науката

Федералната агенция за образование

Държавната образователна институция на висшето образование

"Омск държавен технически университет"

Департамент Приложна математика и информационни системи

курсова работа по дисциплина "методи на високо ниво"

Динамични структури от данни: дек

Приложение 1. Текстът на програмата

Приложение 2 Форма

Обектно-ориентираното програмиране - естествено продължение на структуриран програмиране. Обектно-ориентираното програмиране изисква сложна програма за действие, но тя не се създаде програма, достатъчно лесно. Това създава перфектни кодове, които са лесни за разпространение, както и лесни за поддържане. Веднъж създаден, обект на кандидатстване може да се използва в други приложения. Повторно използване на обекти много намалява времето за развитие и увеличава производителността. Обектно-ориентираното програмиране се основава на използването на класове. Използване на класове - това е основната разлика между C ++ език от езика на C, на които то се основава.

Клас, заедно с понятието "обект" е важна концепция на обектно-ориентираното програмиране. Чрез клас се разбира предприятие, която дефинира общ поведение за обекти. По този начин, всеки обект може да принадлежи или не принадлежи към определен клас, което е или не може да има поведение, което означава класа. Класът дефинира правилата за обекта, с която обектът може да работи на други обекти, това обикновено се прави чрез определяне на методите на класа.

Освен това, класове могат да бъдат един с друг по различни начини, като наследство или агрегация.

Клас - съвкупност от свързани данни, която включва данни, така и функции. Клас - по-нататъшно развитие на структури: също така се интегрира данни от различни видове от тях. Това е същият модел, при които, като структура, паметта се разпределя само когато ние създаваме "Шаблон този тип променлива."

Класът се определя като списък на своите членове. До членовете на класа са областите (свойства) и функции (методи).

Всеки член на класа, можете да инсталирате зоната за достъп (контрол на достъпа ниво). Клас членове област достъп определя раздели на код, от които би било възможно да се справят с този член. В повечето обектно-ориентирани езици за програмиране са подкрепени от следните области достъп:

· Частен (частни, вътрешен клас член) - позоваване на съответните държави се разрешава само от кода на методи на клас, в който се определя този термин. Всеки подклас няма да могат да получат достъп до тази държава;

· Защитена (защитен, вътрешен елемент на йерархията на клас) - движение на пениса се оставя в кода на методи на класа, в който този термин е дефиниран, или на някое от неговите производни класове;

· (Член отворен клас) Публично - обръщение към пениса позволени от всеки код.

Всеки клас определя характеристиките на обектите, които използват даден клас. Класът също да зададете на програмата, която се нарича методът, който обработва характеристиките на обекти, принадлежащи към този клас. поведение на даден обект в реалния свят се определя от нейните характеристики. Чрез промяна на характеристиките, получаваме различно поведение на обектите. Когато се създаде инстанция на класа и определяне на стойността на неговите специфични характеристики, получаваме конкретен обект. Като част от този клас има специален метод, който създава инстанция на класа. Този метод е името на дизайнера. За разлика от строителя, деструктор, има една програма, която унищожава клас инстанция в паметта.

Създаване на клас "Декември".

1. Добавяне на елемент към горната палуба.

2. Премахване на елемент от началото на палубата.

3. Добавяне на елемент в края на палубата.

4. Изтриване на елемент от края на палубата.

5. Проверка за наличието на сгъваеми елементи в него.

Динамични структури от данни: дек

В езиците за програмиране, има начин да се разпределят памет за данни, което се нарича динамичен. В този случай, паметта за определената стойност по време на изпълнение. Тези стойности се наричат ​​динамични. КАТЕГОРИЯ памет, за да бъдат разпределени статично, наречена статична памет; динамично разпределя раздел памет, наречена динамична памет (паметта на стека) а.

Използване на динамични величини дава програмист редица допълнителни функции. На първо място, динамична връзка с памет може да се увеличи количеството на данните, които се обработват. Второ, ако необходимостта от каквито и да било данни елиминирани преди края на програмата, паметта заета от тях могат да бъдат освободени за друга информация. На трето място, използването на динамична памет ви позволява да създадете променлива големина структури от данни.

Работа с динамични стойности, свързани с използването на друг тип данни - референтен тип. Променливи със справка тип, наречени указатели.

Структурирани типове данни като масиви, множество запис, са статични структури, тъй като техните размери остават непроменени през цялото време на програмата.

Често това изисква структури от данни да се променят размерите им в хода на решаването на проблема. Тези структури включват списъци (odnapravlennye, двупосочно, с кръгла форма и пръстеновиден odnapravlennye двупосочен), стекове, палуба, опашки, дървета и други. Описание на динамични структури, използващи масиви, записи и файлове води до разхищението на паметта на компютъра и увеличава решаване на време проблеми.

Динамична структура наречени разлагане (Engl deque - съкращение на двоен накрайник опашка, deque.) Or двупосочен списък ако всеки от своя механизъм се състои от две указатели: един отнася до предходния възел, друг - за следващия. Тези списъци могат да бъдат линейни или циклични, и членовете те се добавят и отстраняват от 2 страни.

Динамични структури от данни Декември - компютърни науки, програмиране

Динамични структури от данни Декември - компютърни науки, програмиране

Ние ще се прави разлика между палуби с ограничена или ограничен изходен порт; в такива палуби съответно изключване или включване е разрешено само в единия край.

Динамични структури от данни Декември - компютърни науки, програмиране

Динамични структури от данни Декември - компютърни науки, програмиране

Фиг. 2. декември и при ограничен вход

Динамични структури от данни Декември - компютърни науки, програмиране

Динамични структури от данни Декември - компютърни науки, програмиране

Фиг. 3. декември ограничен добив

Декември ограничен вход може да се използва просто като комин или опашка.

Палубата всички изключения и допълнения се появят в двата си края.

Декември просто може да организира dvusvyazannogo ациклични списък. В този случай, първите и последните елементи в списъка съответстват на вход (изход) палубата.

Генериран клас в програмата, наречена DEQ.

Този клас трябва да изпълнява функцията вмъкване и премахване на елементи в началото и в края на палубата.

За да създадете клас "Декември", трябва първо да се създаде структура, елемент с указател към следващия елемент. В тази програма, такава структура е възел.

Когато създадете клас, трябва да създадете указатели към първия и последния елементи на палубата. Тези знаци са написани на частни, т. Е. Обръщайте се към тези признаци е възможно само клас метод DEQ.

В областта на методи на клас за публичен достъп, предписан, предписани при формулирането на проблема.

Признаци първоначално определените празна стойност (NULL).

Добавяне на елемент към горната палуба

За да добавите елемент към горната палуба се използва метод клас добавка. Параметрите му се добавя елемент б.

Необходимо е да се създаде нова структура т Node (EL). Ел елемент е настроен на посочения номер с клавиатурата. За да добавите елемент към горната част на палубата, е необходимо, че клетката е празна. Следователно, състоянието се изпитва в присъствието на клетка елемент. Ако клетката не е празна, на курсора в първия елемент преминава към следващата клетка, и в който се записва на елемента. Броят на клетките се увеличава с 1.

Премахването на елемента от началото на палубата

За да премахнете елемент от началото на палубата се използва метод на класа изтриете.

Отстраняването елемент възниква при използване на същия алгоритъм, но клетката не се проверява за елемент присъствие в него. Ел елемент задава показалеца и показалеца първите ходове на следващата клетка. След ел елемент се отстранява и броят на клетките се намалява с една.

Добавяне на елемент към края на палубата

За да добавите елемент към горната палуба е използван метод клас add_end. Параметрите му се добавя елемент б.

Необходимо е да се създаде нова структура т Node (EL). Ел елемент е настроен на посочения номер с клавиатурата. За да добавите елемент към края на палубата, е необходимо, че клетката е празна. Указател към последния елемент преминава към следващата клетка, която ще бъде записана точка. На следващо място, указател към последния елемент преминава към следващата клетка, която е зададена на NULL. Броят на клетките се увеличава с 1.

Изтриване на елемент от края на палубата

За да премахнете елемент от началото на палубата, като се използва метод клас delete_end.

За да премахнете елемент от края на палубата трябва да създадете нов елемент структури Node (EL). Ел елемент назначен указател към първия елемент. Докато ел не взема NULL стойности, елементът ще бъде настроен на следващия елемент. Тогава ел заличава и препратката към последния елемент се задава стойност на ел. Броят на клетките се намалява.

Проверка за наличие на елемент палуба него

За да се тества палуба използва метод клас Пр. Този метод е от тип булева.

За да проверите за наличието на елементи на палубата, нова структура елемент възел и е назначена указател към първия елемент на палубата. Ако клетката не е празна, а след това се връща истина, в противен случай, невярно.

О функция в палубата StringGrid

Тази функция се изисква да се покаже вмъкване и отстраняване на елементи в StringGrid на маса. Feature увеличава броя на клетките в таблицата, ако открие, че клетката не е празна.

Затваряне на програмата можете да кликнете върху "Close" бутона или F10. Заключение В квалификациите се опитахме да разкрие по-пълно и ясно концепцията за линеен списък, еднопосочни и двупосочни списъци, стекове, опашки, и палубата. За да се формира и консолидира образователен интерес към темата сред учениците. Идентифициране и разработване на творчески умения за използване на придобитите умения в.

Динамични структури от данни Декември - компютърни науки, програмиране
Динамични структури от данни Декември - компютърни науки, програмиране
Динамични структури от данни Декември - компютърни науки, програмиране
Динамични структури от данни Декември - компютърни науки, програмиране
Динамични структури от данни Декември - компютърни науки, програмиране

използване на линия масив или списък с помощта на масив или списък. А сега да разгледаме серия от по-горе структура на данните RY и тяхното представителство в над prstye приложим за езика Pascal. 2.2 _Massiv променлива или постоянна структура като масив, служи набор от елементи от същия тип. На всеки отделен компонент от масива.