24 bytes

  • HOME
  • Algorithms
    blue
  • Bubble Sort
  • Bucket Sort
  • Insertion Sort
  • Selection Sort
  • Merge Sort
  • Quick Sort
  • Heap Sort
  • Counting Sort
  • Stack
  • Queue
  • Double Linked List
  • Binary Search Tree
  • Towers OF Hanoi

  • Java Programs
    green bullet
  • Download RMI Calculator
  • Download file
  • Clock applet
  • File Upload
  • JDOM Parser
  • Client server
  • Udp Client server
  • Sudoku Solver

  • System Programming
  • Newtwork Sniffer
  • Good Links
    green bullet
  • Free Source Code
  • Top Coder
  • Code Project
  • Learn Today
  • Concept
  • Intresting Programs
    green bullet
  • Prime Number
  • GCD Euclids
  • Permutations


  • Google
     
    Web 24bytes.com



    
    Heap Sort in C++
    
    
    #include < iostream.h >
    #include < conio.h >
    int heapSize = 10;
    void print(int a[]) {
      for (int i = 0; i <= 9; i++) {
        cout << a[i] << "-";
      }
      cout << endl;
    }
    
    int parent(int i) {
    if(i==1)
    return 0;
    
    if(i%2==0)
        return ( (i / 2)-1);
    else
        return ( (i / 2));
    }
    
    int left(int i) {
      return (2 * i) + 1;
    }
    
    int right(int i) {
      return (2 * i) + 2;
    }
    
    void heapify(int a[], int i) {
      int l = left(i), great;
      int r = right(i);
      if ( (a[l] > a[i]) && (l < heapSize)) {
        great = l;
      }
      else {
        great = i;
      }
      if ( (a[r] > a[great]) && (r < heapSize)) {
        great = r;
      }
      if (great != i) {
        int temp = a[i];
        a[i] = a[great];
        a[great] = temp;
        heapify(a, great);
      }
    }
    
    void BuildMaxHeap(int a[]) {
      for (int i = (heapSize - 1) / 2; i >= 0; i--) {
        heapify(a, i);
        print(a);
      }
    }
    
    void HeapSort(int a[]) {
      BuildMaxHeap(a);
      for (int i = heapSize; i > 0; i--) {
        int temp = a[0];
        a[0] = a[heapSize - 1];
        a[heapSize - 1] = temp;
        heapSize = heapSize - 1;
        heapify(a, 0);
      }
    
    }
    
    void main() {
    
      int arr[] = {
          2, 9, 3, 6, 1, 4, 5, 7, 0, 8};
      HeapSort(arr);
      print(arr);
    }
    
    request a code or suggestion


    Email:
    Category


    Google
     
    Web 24bytes.com
    . original template by Aran Down.