Sie sind auf Seite 1von 4

/*LINEAR SEARCH*/ #include<stdio.h> #include<conio.

h> void linear(int *,int); int a[20]; void main() { int n,i; char ch; clrscr(); printf("Enter the number of elements:"); scanf("%d",&n); printf("Enter the elements:\n"); for(i=0;i<n;i++) scanf("%d",&a[i]); linear(a,n); getch(); } void linear(int * a,int n) { int ele,i; printf("\nEnter the element to be searched:"); scanf("%d",&ele); for(i=1;i<=n;i++) { if(ele==a[i]) { printf("\nElement found at %d",i+1); break; } else { printf("\nElement not found"); } } }

/*INFIX TO POSTFIX*/ #include<stdio.h> #include<conio.h> #include<string.h> #include<alloc.h> #define maxsize 100 struct stack { char item[maxsize]; int top; }; void createstack(struct stack *); void push(struct stack *,char); char pop(struct stack *); void intopost(struct stack *,char *,char*); int isoperator(char); int precedence(char); void main() { stack s; createstack(&s); clrscr(); int i,len; char in[maxsize],*postfix; printf("\nEnter the expression:"); for(i=0;i<maxsize;i++) { scanf("%c",&in[i]); if(in[i]=='\n') break; } in[i]=')'; in[i+1]='\0'; push(&s,'('); len=strlen(in); postfix=(char *)malloc(len+20); intopost(&s,in,postfix); printf("\nThe postfix expression is %s",postfix); getch(); } void createstack(struct stack * s) { s->top=-1; } void intopost(struct stack * s,char * in,char * po) { int len,i,j;

char popped; i=j=0; len=strlen(in); while(i<len) { if(in[i]==' ' && in[i]=='\t' && in[i]==',') { i++; continue; } else if(isoperator(in[i])) { int prestack,preop; prestack=precedence(s->item[s->top]); preop=precedence(in[i]); while(prestack>=preop) { po[j++]=pop(s); prestack=precedence(s->item[s->top]); } push(s,in[i]); } else if(in[i]=='(') push(s,in[i]); else if(in[i]==')') { while((popped=pop(s))!='(') { po[j++]=popped; } } else po[j++]=in[i]; i++; } po[j]='\0'; } void push(struct stack * s,char item) { s->item[++s->top]=item; } char pop(struct stack * s) { char item; item=s->item[s->top--]; return item; } int isoperator(char item)

{ switch(item) { case '+': case '-': case '$': case '/': case '*':return 1; } return 0; } int precedence(char item) { switch(item) { case '$':return 3; case '/': case '*':return 2; case '+': case '-':return 1; } return 0; }

Das könnte Ihnen auch gefallen