Процедури обробки черг і стеків

Similar documents
Problem A. Nanoassembly

Programming the Microchip Pic 16f84a Microcontroller As a Signal Generator Frequencies in Railway Automation

IС A A RT Proceedings Volume 2. 5th International Conference on Agents and Artificial Intelligence. Barcelona, Spain February, 2013

The European Ombudsman

UNDERGRADUATE STUDY SKILLS GUIDE

Russian Introductory Course

COMPLIANCE OF MANAGEMENT ACCOUNTING WHEN USING INFORMATION TECHNOLOGIES

Accounting 1. Lesson Plan. Topic: Accounting for Inventory Unit: 4 Chapter 23

Accounting. Chapter 22

ISSN X CODEN (USA): PCHHAX. The study of dissolution kinetics of drugs with riboxinum (inosine)

MARI-ENGLISH DICTIONARY

I/O Management. General Computer Architecture. Goals for I/O. Levels of I/O. Naming. I/O Management. COMP755 Advanced Operating Systems 1

Timing of a Disk I/O Transfer

Linked Lists Linked Lists, Queues, and Stacks

Chapter 6. Learning Objectives. Account for inventory by the FIFO, LIFO and average cost methods. Objective 1. Retail Inventory

Merchandise Inventory, Cost of Goods Sold, and Gross Profit. Pr. Zoubida SAMLAL

Data Structures and Algorithms Stacks and Queues

EXERCISES. Ex Ex. 6 2

Chronic Fatigue Syndrome

The course of understanding British and American prose and poetry by future managers

Tax Accounting: Valuation of Inventories: A Cost Basis Approach under GAAP

Nataliia ZARUDNA MODERN REQUIREMENTS FOR ACCOUNTING MANAGEMENT FOR PROVISION PROCESS

Chapter 6. Inventories

CHAPTER 6 T E A C H E R V E R S I O N

Financial Accounting. John J. Wild. Sixth Edition. McGraw-Hill/Irwin. Copyright 2013 by The McGraw-Hill Companies, Inc. All rights reserved.

THE INFLUENCE OF POLITICAL ADVERTISING ON STUDENTS PREFERENCES AND THEIR POLITICAL CHOICE

FUNCTIONS OF THE MODAL VERBS IN ENGLISH (MODAL VERBS ANALOGIES IN THE RUSSIAN LANGUAGE) Сompiled by G.V. Kuzmina

CHAPTER 9 WHAT IS REPORTED AS INVENTORY? WHAT IS INVENTORY? COST OF GOODS SOLD AND INVENTORY

Click to edit Master title style. Inventories

Managing Working Capital. Managing Working Capital

* * * Chapter 15 Accounting & Financial Statements. Copyright 2013 Pearson Education, Inc. publishing as Prentice Hall

St S a t ck a ck nd Qu Q eue 1

Quiz 4 Solutions EECS 211: FUNDAMENTALS OF COMPUTER PROGRAMMING II. 1 Q u i z 4 S o l u t i o n s

OPERATIONAL AND CONSUMABLE INVENTORY POLICY

35.10 Inventories. Policies in this chapter are minimum standards May 1, May 1, Authority for these policies

Week 9/ 10, Chap7 Accounting 1A, Financial Accounting

INVENTORY VALUATION THE SIGNIFICANCE OF INVENTORY

TERMINOLOGY OF KOGNITIVE LINGUISTICS: CONCEPTUAL SYSTEM AND CONCEPTUAL PICTURE OF THE WORLD

A COURSE IN MODERN ENGLISH LEXICOLOGY

Required (use 4 decimal places for computations):

Lanen 3e: Chapter 8 Process Costing Practice Quiz

Introduction to Data Structures

Valuation of inventories

Chapter 35 - Inventories

Introduction to Data Structures and Algorithms

CONCEPT OF STATE SOVEREIGNTY: MODERN ATTITUDES. Karen Gevorgyan 1

Pipe fittings plant in Kolpino, Leningrad Regions

Accounts Receivable 7200 Sales 7200 (No entry )

Chapter 6 Inventories 高立翰

BES-III distributed computing status

Joong-Seok Cho 1 THE RELATION BETWEEN ACCOUNTING QUALITY AND SECURITY ANALYSTS' TARGET PRICE FORECAST PERFORMANCE

Inventories: Measurement

Accounting 402 Illustration of a change in inventory method

Sequential Data Structures

SHORT RUSSIAN PHRASEBOOK FOR ENGLISH-SPEAKING TRAVELERS FREE DOWNLOAD. EDITION 4.0

Annuities 101. What is an annuity. Type of Annuities. How to get started

A. I. KUBARKO, T. G. SEVERINA NORMAL PHYSIOLOGY

EFFICIENCY OF SOLAR ROOF WITH TRANSPARENT COVER FOR HEATING SUPPLY OF BUILDINGS

22c:31 Algorithms. Ch3: Data Structures. Hantao Zhang Computer Science Department

- 1 - Finance Act 2008 changes to the Capital Gains Tax charge on beneficiaries of non-resident settlements. Contents.

Computer Programming using C

LG-Ericsson TSP (ip-ldk, ipecs) User Guide. Issue 4.1Ac

1.00 Lecture 35. Data Structures: Introduction Stacks, Queues. Reading for next time: Big Java: Data Structures

Accounting II Second Semester Final

This lecture. Abstract data types Stacks Queues. ADTs, Stacks, Queues Goodrich, Tamassia

ENEOLITHIC CERAMIC TABLETS (ALTARS) FROM BULGARIA

Linked Lists, Stacks, Queues, Deques. It s time for a chainge!

Accounting 2. Stage 1 Desired Results. Lenape Regional High School District BOE Approved 2/15/

Industrial Metrology and Interchangeable Manufacturing under the Viewpoint of Nanotechnology and Nanometrology

PRODUCTIVITY, ADAPTABILITY AND GRAIN QUALITY OF MODERN UKRAINIAN WINTER TRITICALE CULTIVARS*

SOLUTIONS. Learning Goal 27

Chapter 6. An advantage of the periodic method is that it is a easy system to maintain.

Functionalized molecules - synthesis, properties and application

Jonas Mackevičius, Vladislav Tomaševič* Vilnius University, Lithuania

Accounting 303 Exam 3, Chapters 7-9 Fall 2013 Section Row

Big O and Limits Abstract Data Types Data Structure Grand Tour.

Multiple-Choice Questions

BLAST-FURNACE EQUIPMENT

Inventories Level I Financial Reporting and Analysis. IFT Notes for the CFA exam

Accounting Skills Assessment Practice Exam Page 1 of 10

Futó Z. Károly Róbert College, Fleischmann Rudolf Research Institute

THEME: ACCOUNTING FOR INVENTORY

CHAPTER 8 Valuation of Inventories: A Cost Basis Approach

SOCIAL-MEDIA PLATFORMS AND ITS EFFECT ON DIGITAL MARKETING ACTIVITIES

Activated carbon from cotton waste as an adsorbent in the purification process of azo-dyes

Merchandise Inventory

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push)

PALAEONTOLOGIA POLQNICA 'Ъ-Ь

E. N. Sokolov's Neural Model of Stimuli as Neuro-cybernetic Approach to Anticipatory Perception

Prepared by Coby Harmon University of California, Santa Barbara Westmont College

Chapter 9: Inventories. Raw materials and consumables Finished goods Work in Progress Variants of valuation at historical cost other valuation rules

LEMBAGA HASIL DALAM NEGERI MALAYSIA INLAND REVENUE BOARD

ACCT 652 Accounting. Review of last week. Review of last time (2) 1/25/16. Week 3 Merchandisers and special journals

Salem Community College Course Syllabus. Section I. Course Title: Principles Of Accounting I. Course Code: ACC121

Chapter 6 Liquidity of Short-term Assets: Related Debt-Paying Ability

A COMPARATIVE ANALYSIS DEFINITIONS OF ADMINISTRATIVE LAW

SECTION IX. ACCOUNTING FOR INVENTORY

Value aspects of modern Ukrainian advertising discourses

Updates to the U.S. Master Depreciation Guide 2014

Transcription:

Процедури обробки черг і стеків Д И Н А М І Ч Н І С Т Р У К Т У Р И Д А Н И Х Структуровані типи даних, такі, як масиви, множини, записи, являють собою статичні структури, тому що їхні розміри незмінні протягом усього часу виконання програми. Часто потрібно, щоб структури даних змінювали свої розміри в ході рішення задачі. Такі структури даних називаються динамічними, до них відносяться стеки, черги, списки, дерева й інші. Опис динамічних структур за допомогою масивів, записів і файлів приводить до нераціонального використання пам'яті ЕОМ і збільшує час рішення задач. Кожний компонент будь-якої динамічної структури являє собою запис, що містить принаймні два полю чи: одне поле типу вказівник, а друге - для розміщення даних. У загальному випадку запис може містити не один, а декілька вказівників і кілька полів даних. Поле даних може бути змінною, масивом, множиною або записом. Опис цього компонента дамо в такий спосіб: type Pointer = ^Comp; Comp = record D:T; pnext:pointer тут T - тип даних. Розглянемо основні правила роботи з динамічними структурами даних типу стек, черга. С Т Е К И Стеком називається динамічна структура даних, додавання компонента в яку і виключення компонента з якої відбувається з одного кінця, який називається вершиною стека. Стік працює за принципом LIFO (Last-In, First-Out) останнім прийшов, першим пішов. Звичайно над стеками виконується три операції: -початкове формування стеку (запис першого компонента); -додавання компонента в стек; -вибірка компонента (вилучення). Для формування стека і роботи з ним необхідно мати два перемінні типу вказівник, перша з яких визначає вершину стека, а друга - допоміжна. Нехай опис цих перемінних має вигляд: var ptop, paux: Pointer; 1 / 6

де ptop - покажчик вершини стека; paux - допоміжний покажчик. Початкове формування стека виконується наступними операторами: New(pTop); ptop^.pnext:=nil; Останній оператор або група операторів записує вміст поля чи даних першого компонента. Додавання компонента в стек відбувається з використанням допоміжного вказівника: Додавання наступних компонентів виробляється аналогічно. NEW(pAux); paux^.pnext:=ptop; ptop:=paux; Розглянемо процес вибірки компонент зі стека. sc:=ptop^.sd; ptop:=ptop^.pnext Приклад. Скласти програму, що формує стек, додає в нього довільну кількість компонентів, а потім читає усі компоненти і виводить їх на екран, як дані взяти рядок символів. Введення даних - з клавіатури, ознака кінця введення рядок символів END. Program STACK; uses Wincrt; type Alfa= String[10]; PComp= ^Comp; Comp= Record sd: Alfa; pnext: PComp var ptop: PComp; sc: Alfa; Procedure CreateStack(var ptop: PComp; var sc: Alfa); New(pTop); ptop^.pnext:=nil; 2 / 6

Procedure AddComp(var ptop: PComp; var sc: Alfa); var paux: PComp; NEW(pAux); paux^.pnext:=ptop; ptop:=paux; Procedure DelComp(var ptop: PComp; var sc:alfa); sc:=ptop^.sd; ptop:=ptop^.pnext Clrscr; writeln(' ВВЕДІТЬ РЯДОК '); CreateStack(pTop,sC); writeln(' ВВЕДІТЬ РЯДОК '); AddComp(pTop,sC) until sc='end'; writeln('****** РЕЗУЛЬТАТИ ВИКОНАННЯ ******'); DelComp(pTop,sC); writeln(sc); until ptop = NIL end. Ч Е Р Г И Чергою називається динамічна структура даних, додавання компонента в яку здійснюється в кінець, а вибірка здійснюється з іншого кінця. Черга працює за принципом: FIFO (First-In, First-Out) першим прийшов першим пішов. Для формування черги і роботи з нею необхідно мати три змінні типу вказівник, перша з яких вказує на початок черги, друга на кінець черги, третя - допоміжна. Опис компоненти черги і змінних типу вкзівник дамо в такий спосіб: type PComp=^Comp; Comp=record D:T; pnext:pcomp 3 / 6

var pbegin, pend, paux: PComp; де pbegin - вказівник початку черги, pend - вказівник кінця черги, paux - допоміжний вказівник. Тип Т визначає тип даних компоненту черги. Початкове формування черги виконується наступними операторами: New(pBegin); pbegin^.pnext:=nil; pbegin^.sd:=sc; pend:=pbegin Додавання компонента в чергу відбувається в кінець черги: New(pAux); paux^.pnext:=nil; pend^.pnext:=paux; pend:=paux; pend^.s:=s Додавання наступних компонентів відбувається аналогічно. New(pAux); paux^.pnext:=nil; pend^.pnext:=paux; pend:=paux; pend^.sd:=sc Вибірка компонента з черги здійснюється з початку черги, одночасно компонента виключається з черги. Вибірка компонента виконується наступними операторами: sc:=pbegin^.sd; pbegin:=pbegin^.pnext 4 / 6

Приклад. Скласти програму, що формує чергу, додає в неї довільна кількість компонентів, а потім читає усі компоненти і виводить їх на екран дисплея. Як дані взяти рядок символів. Уведення даних - із клавіатури дисплея, ознака кінця введення - рядок символів END. Program QUEUE; uses Wincrt; type Alfa= String[10]; PComp= ^Comp; Comp= record sd:alfa; pnext:pcomp var pbegin, pend: PComp; sc: Alfa; Procedure CreateQueue(var pbegin,pend: PComp; var sc: Alfa); New(pBegin); pbegin^.pnext:=nil; pbegin^.sd:=sc; pend:=pbegin Procedure AddQueue(var pend:pcomp; var sc:alfa); var paux: PComp; New(pAux); paux^.pnext:=nil; pend^.pnext:=paux; pend:=paux; pend^.sd:=sc Procedure DelQueue(var pbegin: PComp; var sc: Alfa); sc:=pbegin^.sd; pbegin:=pbegin^.pnext 5 / 6

BEGIN Clrscr; writeln(' УВЕДИ РЯДОК '); CreateQueue(pBegin,pEnd,sC); writeln(' УВЕДИ РЯДОК '); AddQueue(pEnd,sC) until sc='end'; writeln(' ***** ВИСНОВОК РЕЗУЛЬТАТІВ *****'); DelQueue(pBegin,sC); writeln(sc); until pbegin=nil end. 6 / 6