// Remove um elemento do final do vetor. Retorna 1 se a remocao ocorreu com sucesso e 0 caso contrario int retira (vet *v, elem_t *n){ if (vazio(*v)) return 0; *n = v->item[v->tam - 1]; v->tam--; return 1; }
int pop () { int minvalue; if (vazio() == false) { minvalue = mh.pesos[1]; mh.pesos[1] = mh.pesos[mh.indiceNo]; mh.indiceNo--; if (mh.indiceNo > 1) heapyfy_pop (1); return minvalue; } }
int main() { int x, i; vet v; inicia(&v); for (i = 0; i < 20; i++) insere(&v, i); while(!vazio(v)) { retira(&v, &x); if (x > 10) printf("%d ", x); } return 0; }
float pop () { float v; if (vazio (null)); { printf("Pilha vazia.\n"); exit(1); /* aborta programa */ } /* retira elemento do topo */ v = vet[n-1]; n--; return v; }
int main() { int opc, vlr, lt=1, in=1, z=0, ch=0, vz=0; fila *inc, *fnl, *lst; do { printf("Lista\n\n"); printf("1-Inicializar\n2-Inserir\n3-Remover\n4-Verificar se esta cheia\n5-Verificar se esta vazia\n9-Sair\n\n:: "); scanf("%d", &opc); printf("\n"); switch(opc) { case 1: if(in==1) { inc = ini(); fnl = inc; in = 0; printf("Lista Inicializada\n\n"); } else { printf("Lista ja iniciada\n\n"); } break; case 2: if(cheio(z)!=1) { printf("Digite um numero: "); scanf("%d", &vlr); fnl = push(fnl, vlr); if(vazio(z)) inc = fnl; z++; printf("Inserido\n\n"); } else { printf("Lista cheia. Impossivel inserir\n\n"); } break; case 3: if(vazio(z)) { inc = pop(inc); z--; printf("Removido\n\n"); } else { printf("Lista vazia. Impossivel remover\n\n"); } break; case 4: ch = cheio(z); if(ch == 1) printf("Lista esta cheia\n\n"); else printf("Lista nao esta cheia\n\n"); break; case 5: vz = vazio(z); if(vz == 1) printf("Lista esta vazia\n\n"); else printf("Lista nao esta vazia\n\n"); break; case 9: printf("Fim da lista\n\n"); break; default: printf("Opcao invalida!\n\n"); break; } printf("\n"); for(lst=inc; lst!=NULL; lt++){ printf("#%d:\t%d\n", lt, lst->num); lst = lst->prox; } printf("\n"); lt=1; }while(opc!=9); return 0; }