Fila ordenada [RESOLVIDO]

1. Fila ordenada [RESOLVIDO]

Douglas Sciani Negreiros
sciani

(usa Ubuntu)

Enviado em 26/05/2009 - 23:37h

ola galera... seguinte, estou fazendo um escalonador de processos... e gostaria de colocar os processos ordenados em uma fila... alguem poderia me ajudar me mostrando um exemplo de fila ordenada!?

abraços!


  


2. codigo

Douglas Sciani Negreiros
sciani

(usa Ubuntu)

Enviado em 27/05/2009 - 01:25h

vou postar o codigo q eu fiz... para ver se alguem me ajuda onde q tah o erro

int insert(Fila *q, BCP d)

{

struct no *aux,*PercorreFila,*Old;

aux = (struct no*) malloc(sizeof(struct no));

PercorreFila = (struct no*) malloc(sizeof(struct no));
Old = (struct no*) malloc(sizeof(struct no));

if (aux==NULL)

return (0);



aux->dado=d;

aux->prox=NULL;



if(isEmpty(*q))
{
if (q->inicio==NULL)

q->inicio=aux;

if (q->fim!=NULL)

q->fim->prox=aux;

q->fim=aux;
}
else
{
PercorreFila = q->inicio;
while(PercorreFila->prox!=NULL && PercorreFila->dado.Prioridade<d.Prioridade)
{
Old = PercorreFila;
PercorreFila = PercorreFila->prox;

/*if(aux2->dado.Prioridade < aux->dado.Prioridade)
{
aux->prox = aux2->
} */
}
if(PercorreFila->prox == NULL)
{
PercorreFila->prox=aux;
// q->fim = aux;
}
else
{
Old->prox = aux;
aux->prox = PercorreFila;
}


}

return(1);

}


3. Re: Fila ordenada [RESOLVIDO]

Fábio Felix Dias
slack felix

(usa Slackware)

Enviado em 27/05/2009 - 11:53h

Como você já deve saber uma fila é uma estrutura de dados do tipo lista, onde os elementos são inseridos no final dela e retirados do seu início, da mesma forma que acontece em uma fila de pessoas.

Basicamente o que você tem que implementar são uma classe No e uma classe Fila. Onde os nós possuirão uma informação de algum tipo (o qual você deve definir) e um ponteiro para o próximo No da Fila. Enquanto isso Fila terá dos ponteiros, para dois nós, o primeiro da Fila e o último.

class No
{
public:
No();
~No();
int get_info(); //Retorna uma informação de um nó
void set_info(int); //Inseri informação em um nó
No* get_prox(); //Retorna a referencia para o próximo nó
void set_prox(No*); //Modifica a referencia do próximo nó
private:
int info;
No* prox;
};

class Fila
{
public:
Fila();
~Fila();
No* get_primeiro();
No* get_ultimo();
void inserir(int);
void remover();
bool esta_vazia();
void imprimir();
private:
No* primeiro;
No* ultimo;
};

A implementação dos métodos fica por sua conta. Lembre-se que para inserir, como você quer uma fila ordenada, você precisa encontrar onde o novo elemento deve ser inserido.

Dê uma boa estudada em estruturas de dados ante de proseguir. Este link deve ajudar um pouco

http://www.icmc.usp.br/~sce182/index.html

Qualquer problema é só postar


4. Re: Fila ordenada [RESOLVIDO]

Douglas Sciani Negreiros
sciani

(usa Ubuntu)

Enviado em 27/05/2009 - 12:33h

ola... tudo bem!?

eh q estou implementando em c... entaum naum teria como fazer em classes, isto eh um requisito... o meu prof. pediu um escalonador de processos... e preciso desta fila ordenada....

eu jah tentei de varias formas possivel... e estah complicado...


5. Re: Fila ordenada [RESOLVIDO]

Douglas Sciani Negreiros
sciani

(usa Ubuntu)

Enviado em 27/05/2009 - 13:15h

opa... ae galera eu consegui ordenar a fila...

vlw pela contribuiçao quem respondeu o topico...

se alguem precisar do codigo.. eh soh falar...

ateh ^^


6. escalonador

camila vieira posser
camilaposser

(usa Ubuntu)

Enviado em 29/04/2015 - 11:18h


Você poderia me passar o codigo?
Também estou fazendo um escalonador como trabalho da disciplina.
Obrigada






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts