📄 minmain.cpp
字号:
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include "..\include\book.h"
typedef int ELEM;
#include "..\include\swap.h"
void permute(int *array, int n) {
for (int i=n; i>0; i--)
swap(array[i-1], array[Random(i)]);
}
#include "..\include\minheap.h"
int main(int argc, char** argv) {
int i, j;
int n;
ELEM A[20];
ELEM B[20];
ELEM C[10] = {73, 6, 57, 88, 60, 34, 83, 72, 48, 85};
heap BH(B, 0, 20);
heap Test(C, 10, 10);
if (argc != 2) {
cout << "Usage: heap <heapsize>\n";
exit(-1);
}
n = atoi(argv[1]);
if (n > 20) {
cout << "heap size " << n << " too big.\n";
exit(-1);
}
Randomize();
for (i=0; i<n; i++)
A[i] = i;
permute(A, n);
cout << "Initial values:\n";
for (i=0; i<n; i++) {
cout << A[i] << " ";
if (i == 9) cout << "\n";
}
cout << "\n\n";
for (i=0; i<n; i++)
BH.insert(A[i]);
for (i=0; i<BH.heapsize(); i++) {
cout << B[i] << " ";
if (i == 9) cout << "\n";
}
cout << "\n\n";
heap AH(A, n, 20);
for (i=0; i<AH.heapsize(); i++) {
cout << A[i] << " ";
if (i == 9) cout << "\n";
}
cout << "\n\n";
cout << "Min value: " << AH.removemin() << "\n";
for (i=0; i<AH.heapsize(); i++) {
cout << A[i] << " ";
if (i == 9) cout << "\n";
}
cout << "\n\n";
cout << "Min value: " << AH.removemin() << "\n";
for (i=0; i<AH.heapsize(); i++) {
cout << A[i] << " ";
if (i == 9) cout << "\n";
}
cout << "\n\n";
cout << "Remove value: " << AH.remove(2) << "\n";
for (i=0; i<AH.heapsize(); i++) {
cout << A[i] << " ";
if (i == 9) cout << "\n";
}
cout << "\n";
for (i=0; i<10; i++)
cout << C[i] << " ";
cout << "\n";
for (j=0; j<10; j++) {
Test.removemin();
for (i=0; i<10; i++)
cout << C[i] << " ";
cout << "\n";
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -