steverobinson

Steve Robinson

Aug 25th, 2010
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. //Program to Implement Priority Queue using Min Heap
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <process.h>
  5. #define maxsize 20
  6.  
  7. int elements[30],size=0;
  8. void display()
  9. {
  10.     int i;
  11.     for(i=1;i<=size;i++)
  12.     {
  13.         printf("\n%d",elements[i]);
  14.     }
  15. }
  16. void insert (int x)
  17. {
  18.     int i;
  19.     if(size==0)
  20.         {
  21.             size++;
  22.             elements[1]=x;
  23.         }
  24.     else  if(size==maxsize)
  25.             printf("\nQueue Full!");
  26.     else
  27.         {
  28.             for(i=++size;elements[i/2]>x&&i/2!=0;i=i/2)
  29.                 elements[i]=elements[i/2];
  30.             elements[i]=x;
  31.             printf("%d",size);
  32.         }
  33.  
  34. }
  35. int  main()
  36. {
  37.     int temp,ch;
  38.     menu:
  39.     printf("\nMenu:\n1. Insert Elements\n2. Display Heap\n3. Exit\nEnter Choice.....");
  40.     scanf("%d",&ch);
  41.     switch(ch)
  42.     {
  43.         case 1:
  44.         do{
  45.             printf("\nEnter the element: ");
  46.             scanf("%d",&temp);
  47.             insert(temp);
  48.             printf("\nInsert More ? Yes (1) No (0)...");
  49.             scanf("%d",&ch);
  50.             }while(ch);
  51.         break;
  52.  
  53.         case 2:
  54.         display();
  55.         break;
  56.  
  57.         case 3:
  58.         printf("\nThank You!");
  59.         getch();
  60.         exit(0);
  61.  
  62.         default:
  63.         printf("\nInvalid choice!\n");
  64.         goto menu;
  65.     }
  66.     goto menu;
  67.  
  68. }
Add Comment
Please, Sign In to add comment