void main() { int no, ch, e; printf("\n 1 - Push"); printf("\n 2 - Pop"); printf("\n 3 - Top"); printf("\n 4 - Empty"); printf("\n 5 - Exit"); printf("\n 6 - Dipslay"); printf("\n 7 - Stack Count"); printf("\n 8 - Destroy stack"); create(); while (1) { printf("\n Enter choice : "); scanf("%d", &ch); switch (ch) { case 1: printf("Enter data : "); scanf("%d", &no); push(no); break; case 2: pop(); break; case 3: if (top == NULL) printf("No elements in stack"); else { e = topelement(); printf("\n Top element : %d", e); } break; case 4: empty(); break; case 5: exit(0); case 6: display(); break; case 7: stack_count(); break; case 8: destroy(); break; default : printf(" Wrong choice, Please enter correct choice "); break; } } }
void main(){ int op,n,resp; system("clear"); printf("|_____________Estrutura de dados_____________|\n"); printf("| TDA - PILHA |\n"); printf("|Alunos: |\n"); printf("| Alessandro Silva |\n"); printf("| Alexandre Leite |\n"); printf("| Edgard Pitombo |\n"); printf("| Roberto R. |\n"); printf("| |\n"); printf("|Professor: Danilo silva |\n"); printf("| 06/11/2014|\n"); printf("|____________________________________________|\n\n"); printf("_--__--__--__--__--__--__--__--__--__--__--__-\n\n"); while(op!=9){ printf("\n"); printf("|__________________MENU______________________|\n"); printf("| |\n"); printf("| 1)ADICIONAR elemento na pilha. |\n"); printf("| 2)REMOVER elemento do topo da pilha. |\n"); printf("| 3)Exibir TODOS os elementos da pilha. |\n"); printf("| 4)Exibir o elemento do TOPO da pilha. |\n"); printf("| 5)Exibir QUANTIDADE de elementos da pilha. |\n"); printf("| 6)LOCALIZAR um elemento na pilha. |\n"); printf("| 9)Para SAIR. |\n"); printf("|____________________________________________|\n"); printf("\nDigite uma opção: "); scanf("%d",&op); if(op!=9){ switch(op){ case 1: printf("Digite um valor inteiro:"); scanf("%d",&n); if(push(n)==1){ printf("Valor inserido na pilha."); display(); }else{ printf("Falha ao armazenar valor na pilha."); } break; case 2: resp=pop(); if(resp!=0){ printf("\nO elemento removido foi: %d \n", resp); display(); }else{ printf("A pilha está vazia!"); } break; case 3: display(); break; case 4: printf("\nO elemento do topo da pilha é: %d\n",topelement()); display(); break; case 5: printf("\nPilha possui %d elementos\n", stack_count()); display(); break; case 6: printf("Digite o elemento que deseja procurar: "); scanf("%d",&n); localiza(n); display(); break; } } } }
int main() { int i , j=0 , chk ; int popped , pre , prep; char ele , elem; strcpy(postfix," "); printf("\nEnter the infix expression :"); gets(infix); chk = braces(infix); if(chk!=0) { printf("\nUnbalanced no. of braces"); printf("\n Extra %s" , (chk==1 ? "right bracrs" : "left braces")); getch(); exit(1); } for(i=0 ; infix[i]!='\0' ; i++) { if(infix[i]!='(' &&infix[i]!=')' &&infix[i]!='/' &&infix[i]!='*' &&infix[i]!='+' &&infix[i]!='-' && infix[i]!='^') postfix[j++]=infix[i]; else if(infix[i]=='(') { elem= infix[i]; push(elem); } else if(infix[i]==')') { while((popped=pop())!='(') postfix[j++] = popped; } else { elem=infix[i]; pre=precedence(elem); ele=topelement(); prep=precedence(ele); if(pre>prep) push(elem); else { while(prep>=pre) { if(ele=='#') break; popped=pop(); postfix[j++]=popped; ele=topelement(); prep=precedence(ele); } push(elem); } } } while((popped=pop())!='#') postfix[j++] = popped; postfix[j]='\0'; printf("\nThe postfix expression is : "); puts(postfix); return 0; }