Reversing order of words in a sentence using stack in C Language | C Program to Reverse the sentence
#include#include #include struct linked_list { char *chr; struct linked_list *next; }; typedef struct linked_list node; void push(node **p,char *x); char *pop(node **p); int main() { char a[50],*temp,*dup; strcpy(a,"Hello Friends how are you... Enjoy lernc.blogspot.com "); node * head=NULL; temp=strtok(a," "); while(temp != NULL) { dup=strdup(temp); temp=strtok(NULL," "); push(&head,dup); } strcpy(a,""); while((temp=pop(&head))!=NULL) { strcat(a,temp); strcat(a," "); } a[strlen(a)-1]='\0'; printf("%s\n",a); return 0; } void push(node **p,char *x) { node *new_node; new_node=(node *)malloc(sizeof(node)); new_node->chr=x; new_node->next=*p; *p=new_node; } char *pop(node **p) { char *temp=NULL; node *tmp; if(*p==NULL) return (NULL); else { temp=(*p)->chr; tmp=*p; (*p)=(*p)->next; free(tmp); return (temp); } }
No comments:
Post a Comment