Showing posts with label data structure. Show all posts
Showing posts with label data structure. Show all posts

Write a program to Implement a Linked List in C++

The user is provided with the following options..



To insert an item at begining

To insert an item at end

To insert an item at position

To traverse the list

To delete first item

To delete last item

To delete item from position

To count no. of items in list





Select To use this code as it is.. select and copy paste this code into code.cpp file :)
  1. #include<conio.h>

  2. #include<stdio.h>

  3. #include<alloc.h>

  4. #include<process.h>

  5. struct node

  6. { int info;

  7. struct node *next;

  8. };


  9. typedef struct node sn;


  10. void insertatbeg(sn **,int);

  11. void insertatend(sn **,int);

  12. void insertatpos(sn **,int,int);

  13. void traverse(sn *);

  14. int delfirst(sn *);

  15. int dellast(sn *);

  16. int delpos(sn *,int);

  17. int count(sn *);

  18. //Coding by: Snehil Khanor

  19. //http://WapCPP.blogspot.com

  20. void main()

  21. { sn *p;

  22. int n,i,l;

  23. char ch;

  24. clrscr();

  25. p=NULL;

  26. do

  27. { printf("\n-----select an operation-----");

  28. printf("\n1->To insert an item at begining<-");

  29. printf("\n2->To insert an item at end<-");

  30. printf("\n3->To insert an item at position<-");

  31. printf("\n4->To traverse the list<-");

  32. printf("\n5->To delete first item<-");

  33. printf("\n6->To delete last item<-");

  34. printf("\n7->To delete item from position<-");

  35. printf("\n8->To count no. of items in list<-");

  36. printf("\n9->Exit<-");

  37. printf("\n->Enter your choice:");

  38. scanf("%d",&n);

  39. switch(n)

  40. { case 1:printf("\n->Enter the item to insert");

  41. scanf("%d",&i);

  42. insertatbeg(&p,i);

  43. break;

  44. case 2:printf("\n->Enter the item to insert");

  45. scanf("%d",&i);

  46. insertatend(&p,i);

  47. break;

  48. case 3:printf("\n->Enter the item to insert");

  49. scanf("%d",&i);

  50. printf("\n->Enter the position");

  51. scanf("%d",&l);

  52. insertatpos(&p,i,l);

  53. break;

  54. case 4:traverse(p);

  55. break;

  56. case 5:i=delfirst(p);

  57. printf("\nItem deleted is %d.",i);

  58. break;

  59. case 6:i=dellast(p);

  60. printf("\nItem deleted is %d.",i);

  61. break;

  62. case 7:printf("\n->Enter the position");

  63. scanf("%d",&l);

  64. i=delpos(p,l);

  65. printf("\nItem deleted is %d.",i);

  66. break;

  67. case 8:i=count(p);

  68. printf("\nNumber of nodes in list are %d.",i);

  69. break;

  70. case 9:exit(0);

  71. break;

  72. default:printf("\n->You have entered wrong choice");

  73. }

  74. printf("\n->Do you want to continue/exit(y/n)");

  75. fflush(stdin);

  76. scanf("%c",&ch);

  77. } while((ch=='y')||(ch=='Y'));

  78. getch();

  79. }


  80. int count(sn *p)

  81. { sn *temp;

  82. int c=1;

  83. temp=p;

  84. while((temp->next)!=NULL)

  85. { c++;

  86. temp=temp->next;

  87. }

  88. return c;

  89. }


  90. void insertatbeg(sn **p,int item)

  91. { sn *ptr;

  92. ptr=(sn *)malloc(sizeof(sn));

  93. ptr->info=item;

  94. if(*p==NULL)

  95. ptr->next=NULL;

  96. else

  97. ptr->next=*p;

  98. *p=ptr;

  99. }


  100. void insertatend(sn **p,int item)

  101. { sn *ptr,*temp;

  102. ptr=(sn *)malloc(sizeof(sn));

  103. ptr->info=item;

  104. ptr->next=NULL;

  105. if(*p==NULL)

  106. *p=ptr;

  107. else

  108. { temp=*p;

  109. while((temp->next)!=NULL)

  110. temp=temp->next;

  111. temp->next=ptr;

  112. }

  113. }


  114. void insertatpos(sn **p,int item,int loc)

  115. { sn *ptr,*temp,*s;

  116. int i,c;

  117. temp=*p;

  118. ptr=(sn *)malloc(sizeof(sn));

  119. ptr->info=item;

  120. c=count(*p);

  121. if(loc>c)

  122. printf("\nList is short,Item can't inserted");

  123. else

  124. {

  125. for(i=0;i<loc-1;i++)

  126. { s=temp;

  127. temp=temp->next;

  128. }

  129. ptr->next=s->next;

  130. s->next=ptr;

  131. }

  132. }


  133. //Coding by: Snehil Khanor

  134. //http://WapCPP.blogspot.com

  135. void traverse(sn *p)

  136. { sn *temp;

  137. if(p==NULL)

  138. printf("\nList is empty.");

  139. else

  140. {

  141. temp=p;

  142. while((temp->next)!=NULL)

  143. { printf("\nno.=%d",temp->info);

  144. temp=temp->next;

  145. }

  146. printf("\nno.=%d",temp->info);

  147. }

  148. }


  149. int delfirst(sn *p)

  150. { int item;

  151. sn *temp;

  152. if(p==NULL)

  153. { printf("\nList is empty");

  154. return 0;

  155. }

  156. else

  157. { temp=p;

  158. p=p->next;

  159. item=temp->info;

  160. free(temp);

  161. return item;

  162. }

  163. }


  164. int dellast(sn *p)

  165. { int item;

  166. sn *temp,*s;

  167. if(p==NULL)

  168. { printf("\nList is empty");

  169. return 0;

  170. }

  171. else

  172. { temp=p;

  173. while((temp->next)!=NULL)

  174. { s=temp;

  175. temp=temp->next;

  176. }

  177. item=temp->info;

  178. s->next=NULL;

  179. free(temp);

  180. return item;

  181. }

  182. }


  183. int delpos(sn *p,int loc)

  184. { int item,i,c;

  185. sn *temp,*s;

  186. c=count(p);

  187. if(p==NULL)

  188. { printf("\nList is empty");

  189. return 0;

  190. }

  191. else

  192. { if(loc>c)

  193. { printf("\nItem is not in list.");

  194. return 0;

  195. }

  196. else

  197. { temp=p;

  198. for(i=0;i<loc-1;i++)

  199. { s=temp;

  200. temp=temp->next;

  201. }

  202. item=temp->info;

  203. s->next=temp->next;

  204. free(temp);

  205. return item;

  206. }

  207. }

  208. }


Write a program to Implement a Queue in C++

User is asked to Insert into.. Delete from or Display the entire queue..

Select To use this code as it is.. select and copy paste this code into code.cpp file :)
  1. #include<stdio.h> 

  2. #include<conio.h> 

  3. #include<process.h> 

  4. int queue[5]; 

  5. long front,rear; 

  6. void initqueue(); 

  7. void display(); 

  8. void main() 


  9. int choice,info; 

  10. clrscr(); 

  11. while(1) 


  12. clrscr(); 

  13. printf(" MENU \n"); 

  14. printf("1.Insert an element in queue\n"); 

  15. printf("2.Delete an element from queue\n"); 

  16. printf("3.Display the queue\n"); 

  17. printf("4.Exit!\n"); 

  18. printf("Your choice: "); 

  19. scanf("%i",&choice); 

  20. //Coding by: Snehil Khanor  

  21. //http://WapCPP.blogspot.com  

  22. switch(choice) 


  23. case 1:if(rear<4) 


  24. printf("enter the number: "); 

  25. scanf("%d",&info); 

  26. if (front==-1) 


  27. front=0; 

  28. rear=0; 


  29. else 

  30. rear=rear+1; 

  31. queue[rear]=info; 


  32. else 

  33. printf("queue is full"); 

  34. getch(); 

  35. break; 

  36. case 2: int info; 

  37. if(front!=-1) 


  38. info=queue[front]; 

  39. if(front==rear) 


  40. front=-1; 

  41. rear=-1; 


  42. else 

  43. front=front+1; 

  44. printf("no deleted is = %d",info); 


  45. else 

  46. printf("queue is empty"); 

  47. getch(); 

  48. break; 

  49. case 3: display(); 

  50. getch(); 

  51. break; 

  52. case 4: exit(1); 

  53. break; 

  54. default:printf("You entered wrong choice!"); 

  55. getch(); 

  56. break; 




  57. void initqueue() 


  58. front=rear=-1; 


  59. void display() 


  60. int i; 

  61. for(i=front;i<=rear;i++) 

  62. printf("%i\n",queue[i]); 


Write a program to Implement a stack in C++

User is asked to PUSH, POP , or TRAVERSE.. PUSH is to add items to the Stack, POP is to remove item from the Stack, and TRAVERSE is to traverse the whole Stack

Select To use this code as it is.. select and copy paste this code into code.cpp file :)
  1. #include<stdio.h> 

  2. #include<conio.h> 

  3. #include<process.h> 

  4. #define MAXSIZE 10 

  5. void push(); 

  6. int pop(); 

  7. void traverse(); 

  8. int stack[MAXSIZE]; 

  9. int Top=-1; 

  10. void main() 


  11. int choice; 

  12. char ch; 

  13. do 


  14. clrscr(); 

  15. printf("\n1. PUSH "); 

  16. printf("\n2. POP "); 

  17. printf("\n3. TRAVERSE "); 

  18. printf("\nEnter your choice "); 

  19. scanf("%d",&choice); 

  20. switch(choice) 


  21. case 1: push(); 

  22. break; 

  23. case 2: printf("\nThe deleted element is %d ",pop()); 

  24. break; 

  25. case 3: traverse(); 

  26. break; 

  27. default: printf("\nYou Entered Wrong Choice"); 


  28. printf("\nDo You Wish To Continue (Y/N)"); 

  29. fflush(stdin); 

  30. scanf("%c",&ch); 


  31. while(ch=='Y' || ch=='y'); 


  32. //Coding by: Snehil Khanor  

  33. //http://WapCPP.blogspot.com  

  34. void push() 


  35. int item; 

  36. if(Top == MAXSIZE - 1) 


  37. printf("\nThe Stack Is Full"); 

  38. getch(); 

  39. exit(0); 


  40. else 


  41. printf("Enter the element to be inserted "); 

  42. scanf("%d",&item); 

  43. Top= Top+1; 

  44. stack[Top] = item; 



  45.  

  46. int pop() 


  47. int item; 

  48. if(Top == -1) 


  49. printf("The stack is Empty"); 

  50. getch(); 

  51. exit(0); 


  52. else 


  53. item = stack[Top]; 

  54. Top = Top-1; 


  55. return(item); 


  56.  

  57. void traverse() 


  58. int i; 

  59. if(Top == -1) 


  60. printf("The Stack is Empty"); 

  61. getch(); 

  62. exit(0); 


  63. else 


  64. for(i=Top;i>=0;i--) 


  65. printf("Traverse the element "); 

  66. printf("%d\n",stack[i]); 




Write a program to sort elements of array using Selection Sorting

Size of array is taken from user.. Elements are entered by user in any order... Sorting is performed..

Select To use this code as it is.. select and copy paste this code into code.cpp file :)
  1. #include<stdio.h> 

  2. #include<conio.h> 

  3. void main() 


  4. int a[100],n,i,j,temp,loc,min; 

  5. clrscr(); 

  6. printf("\How many elements:\n"); 

  7. scanf("%d",&n); 

  8. printf("Enter the element of array\n"); 

  9. for(i=0;i<=n-1;i++) 


  10. scanf("%d",&a[i]); 


  11. min=a[0]; 

  12. //Coding by: Snehil Khanor  

  13. //http://WapCPP.blogspot.com  

  14. for(i=0;i<=n-1;i++) 


  15. min=a[i]; 

  16. loc=i; 

  17. for(j=i+1;j<=n-1;j++) 


  18. if(a[j]<min) 


  19. min=a[j]; 

  20. loc=j; 



  21. if(loc!=1) 


  22. temp=a[i]; 

  23. a[i]=a[loc]; 

  24. a[loc]=temp; 


  25.  


  26. printf("The number after selection sorting are:\n"); 

  27. for(i=0;i<=n-1;i++) 


  28. printf("%d\n",a[i]); 


  29. getch(); 



Write a program to sort elements of array using Quick Sort

Size of array is taken from user.. Elements are entered by user in any order... Sorting is performed..

Select To use this code as it is.. select and copy paste this code into code.cpp file :)
  1. #include<stdio.h> 

  2. #include<conio.h> 

  3. #define max 100 

  4. int a[max],n,i,l,h; 

  5. void main() 


  6. void input(void); 

  7. input(); 

  8. getch(); 


  9.  

  10. void input(void) 


  11. void output(int a[],int n); 

  12. void quick_sort(int a[],int l,int h); 

  13. printf("How many elements in the array : "); 

  14. scanf("%d",&n); 

  15. printf("\n"); 

  16. printf("Enter the elemennts : \n"); 

  17. for(i=0;i<=n-1;i++) 


  18. scanf("%d",&a[i]); 


  19. l=0; 

  20. h=n-1; 

  21. quick_sort(a,l,h); 

  22. printf("Sorted Array :\n "); 

  23. output(a,n); 


  24.  

  25. void quick_sort(int a[],int l, int h) 


  26. int temp,key,low,high; 

  27. low=l; 

  28. high=h; 

  29. key=a[(low+high)/2]; 

  30. do 


  31. while(key>a[low]) 


  32. low++; 


  33. while(key<a[high]) 


  34. high--; 


  35. if(low<=high) 


  36. temp=a[low]; 

  37. a[low++]=a[high]; 

  38. a[high--]=temp; 


  39. //Coding by: Snehil Khanor 

  40. //http://WapCPP.blogspot.com 

  41. } while(low<=high); 

  42. if(l<high) 

  43. quick_sort(a,l,high); 

  44. if(low<h) 

  45. quick_sort(a,low,h); 


  46. void output(int a[],int n) 


  47. for(i=0;i<=n-1;i++) 


  48. printf("%d\n",a[i]); 


  49. }

Write a program to sort elements of array (bubble Sorting)

Size of array is taken from user.. Elemnts are entered by user.. Elements are sorted in ascending order..

Select To use this code as it is.. select and copy paste this code into code.cpp file :)
  1. #include<conio.h>

  2. #include<iostream.h>

  3. void main()

  4. {

  5. clrscr();

  6. int a[100],i,n,j,temp;

  7. cout<<"How many element: ";

  8. cin>>n;

  9. cout<<"Enter the elements of array: "<<endl;

  10. for(i=0;i<n;i++)

  11. cin>>a[i];

  12. cout<<"The elements of array Before Sorting: "<<endl;

  13. //Coding by: Snehil Khanor

  14. //http://WapCPP.blogspot.com

  15. for(i=0;i<n;i++)

  16. cout<<a[i]<<" ";

  17. cout<<endl;

  18. for(i=0;i<n;i++)

  19. {

  20. for(j=0;j<n-1-i;j++)

  21. {

  22. if(a[j]>a[j+1])

  23. {

  24. temp=a[j];

  25. a[j]=a[j+1];

  26. a[j+1]=temp;

  27. }

  28. }

  29. }

  30. cout<<"Elements of array After Sorting: "<<endl;

  31. for(i=0;i<n;i++)

  32. cout<<a[i]<<" ";

  33. getch();

  34. }

Write a program to search an element in an array (Binary searching)

Size of array is taken from user.. Elements are entered by user in order (ascending or descending).. user is asked for the element to be searched... Search is performed..
Select To use this code as it is.. select and copy paste this code into code.cpp file :)
  1. #include<conio.h>

  2. #include<iostream.h>

  3. void main()

  4. {

  5. clrscr();

  6. int a[100],i,loc,mid,beg,end,n,flag=0,item;

  7. cout<<"How many element: ";

  8. cin>>n;

  9. cout<<"Enter (IN ORDER) the elements of array: "<<endl;

  10. //Coding by: Snehil Khanor

  11. //http://WapCPP.blogspot.com

  12. for(i=0;i<n;i++)

  13. cin>>a[i];

  14. cout<<"Enter the element to be searched: ";

  15. cin>>item;

  16. loc=0;

  17. beg=0;

  18. end=n-1;

  19. while((beg<=end)&&(item!=a[mid]))

  20. {

  21. mid=(beg+end)/2;

  22. if(item==a[mid])

  23. {

  24. cout<<"Search successful :)";

  25. loc=mid;

  26. cout<<"Position of the Item: "<<loc+1;

  27. flag=flag+1;

  28. }

  29. else if(item<a[mid])

  30. end=mid-1;

  31. else

  32. beg=mid+1;

  33. }

  34. if(flag==0)

  35. {

  36. cout<<"Search NOT sucessfull :( ";

  37. }

  38. getch();

  39. }

Write a program to search an element in an array (Linear searching)

Size of array is taken from user.. Elements are entered.. Then user is asked to enter element to be searched.. Search is performed..
Select To use this code as it is.. select and copy paste this code into code.cpp file :)
  1. #include<iostream.h>

  2. #include<conio.h>

  3. void main()

  4. {

  5. clrscr();

  6. int ar[10],n,num,no;

  7. cout<<"Enter size of the array: ";

  8. cin>>n;

  9. cout<<"Enter array element: "<<endl;

  10. for(int i=0;i<n;i++)

  11. {

  12. cout<<"Enter element "<<i<<": ";

  13. cin>>ar[i];

  14. }

  15. //Coding by: Snehil Khanor

  16. //http://WapCPP.blogspot.com

  17. cout<<"Elements of array: "<<endl;

  18. for(i=0;i<n;i++)

  19. cout<<"Element at index number "<<i<<" is: "<<ar[i]<<endl;

  20. //////To search////

  21. cout<<"Enter number to search: ";

  22. cin>>num;

  23. for(i=0;i<n;i++)

  24. {

  25. if(num==ar[i])

  26. {

  27. cout<<"Found at index number: "<<i;

  28. no=0;

  29. break;

  30. }

  31. else

  32. {

  33. no=1;

  34. continue;

  35. }

  36. }

  37. if(no==1)

  38. cout<<"Sorry your search returned NO results. :(";

  39. getch();

  40. }

Check out this stream