HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
|
|
Queues
|
A queues é a estrutura de dados linear final que nós vontade examinamos. Como a pilha, a queues é também um tipo de lista restrita. Em vez de restringir todas as operações a somente uma extremidade da lista como uma pilha, a queues permite que os artigos sejam adicionados na uma extremidade da lista e removidos no extremo oposto da lista. A figura abaixo deve dar-lhe uma idéia boa da vista abstrata da queues.
Este as limitações colocadas em uma queues causam a estrutura ser “Primeiro-Em, a Primeira-Para fora” ou a estrutura do FIFO. Esta idéia é similar às linhas de cliente em a em toda a loja do pagamento da conta (por exemplo queues do pagamento da conta do telefone). Quando o cliente A está pronto para verificar para fora, ou entram na cauda (extremidade) da linha de espera. Quando os clientes precedentes pagaram, a seguir o cliente A paga e retira da cabeça da linha. A linha do conta-pagamento é realmente uma queues que reforce “vindo primeiramente, uma política do primeiro saque”.
We will represent these two operations with the following notation:
|
EnqueueItem(Queue, Item)
Item DequeueItem(Queue)
|
Estas duas operações são muito similares àquela das operações que nós aprendemos para a estrutura de dados da pilha. Embora os nomes sejam diferentes, a lógica de usar os parâmetros é a mesma. A operação de EnqueueItem (incorporar o artigo da fila) faz exame do parâmetro do artigo e adiciona-o à cauda (extremidade) da fila. A operação de DequeueItem (artigo da fila da supressão) remove o artigo principal da fila e retorna esta como o artigo. Observar que nós representamos o artigo retornado com um keyword situado à esquerda do nome da operação. Estas duas operações são parte da vista abstrata de uma fila. Não obstante como nós escolhemos executar nossa fila no computador, a fila deve suportar estas duas operações.
|
A vista da execução
|
Quando nós olhamos as estruturas requisitadas da lista e de dados da pilha, nós vimos duas maneiras diferentes executar cada delas. Embora as execuções fossem diferentes, a estrutura de dados era ainda a mesma do ponto abstrato da vista para a pilha e a lista requisitada. Nós poderíamos uso imóvel as mesmas operações nas estruturas de dados não obstante suas execuções. Com a queues, é também possível ter as várias execuções que suportam as operações EnqueueItem e DequeueItem. A distinção entre a respresentação lógica da queues e a respresentação física da queues. Recordar que a respresentação lógica é a maneira de que nós pensamos dos dados da maneira que estão sendo armazenados no computador. A respresentação física é a maneira que os dados da maneira são organizados realmente nas pilhas de memória (memória de computador).
Agora vamos considerar como as operações de EnqueueItem e de DequeueItem puderam ser executadas na queues. Para armazenar letras na queues, nós poderíamos avançar o ponteiro da cauda por uma posição e adicionar a letra nova na queues. Para dequeue letras (da supressão), nós poderíamos remover para fora a letra principal e aumentar o ponteiro principal por uma posição. Quando esta aproximação parecer muito direta, tem um problema sério. Porque os artigos são adicionados e removidos, nossa queues marchará em linha reta com a memória inteira do computador. Nós não limitamos o tamanho de nossa queues a uma quantidade fixa de tamanho.
Talvez nós poderíamos limitar o tamanho da queues não permitindo que o ponteiro da cauda avance além da determinada posição de memória. Esta execução pararia a queues de atravessar a memória inteira, mas permitiria somente que nós enchessem a queues uma vez. Uma vez que os ponteiros da cabeça e da cauda alcançaram a posição de batente, nossa queues já não trabalharia o untill que nós suprimimos alguns dados dela.
|
|
|
Keywords:
queues in c, queues in c++, java queues, c arrays, matrix in c, graph in c, sort in c, c example, c method, program in c, list in c, simple c, c implementation
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|