Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void Hoanvi(int &a, int &b)
- {
- int c = a;
- a = b;
- b = c;
- }
- void Heapify(int a[], int n, int i)
- {
- while (i <= n/2 - 1)
- {
- int left = 2 * i + 1;
- int right = 2 * i + 2;
- int min = left;
- if (right < n && a[right] < a[min])
- {
- min = right;
- }
- if (a[i] > a[min])
- {
- Hoanvi(a[i], a[min]);
- }
- i = min;
- }
- }
- void Buildheap(int a[], int n)
- {
- for (int i = n/2 - 1; i >= 0; i--)
- {
- Heapify(a, n, i);
- }
- }
- void Heapsort(int a[], int n)
- {
- Buildheap(a, n);
- for (int i = n-1; i >=0; i--)
- {
- Hoanvi(a[i], a[0]);
- Heapify(a, i, 0);
- }
- }
- void Xuatmang(int a[], long n)
- {
- for (long i = 0; i < n; i++)
- {
- cout << a[i] << " ";
- }
- }
- int Nhap(int *a, long &n,int ptuthem)
- {
- if (n >= 100000)
- return 0;
- else if(n==0)
- {
- a[0] = ptuthem;
- n++;
- return 0;
- }
- else
- {
- a[n] = ptuthem;
- n++;
- return 0;
- }
- }
- int main()
- {
- long n = 0;
- int *a = new int[0];
- int x;
- while (1)
- {
- cin >> x;
- Nhap(a, n, x);
- if (x == -2)
- break;
- }
- Xuatmang(a, n-1);
- delete[]a;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement