Aktualizovat a2/program.c
This commit is contained in:
parent
08c91eaa18
commit
d262429c07
32
a2/program.c
32
a2/program.c
@ -1,41 +1,41 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
void preorder(int *a, int n, int i, int level) {
|
void preorder(int *a, int b, int i, int level) {
|
||||||
if (i >= n) return;
|
if (i >=b) return;
|
||||||
|
|
||||||
for (int j = 0; j < level; j++) // вирізали прогалини за рівнем
|
for (int j = 0; j<level; j++) // вирізали прогалини за рівнем
|
||||||
printf(" ");
|
printf(" ");
|
||||||
|
|
||||||
printf("%d\n", a[i]);
|
printf("%d\n",a[i]);
|
||||||
|
|
||||||
preorder(a, n, 2 * i + 1, level + 1); // left
|
preorder(a, b, 2*i+1, level+1); // left
|
||||||
preorder(a, n, 2 * i + 2, level + 1); // right
|
preorder(a, b, 2*i+2, level+1); // right
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int a[1000];
|
int a[1000];
|
||||||
int n = 0;
|
int b=0;
|
||||||
|
|
||||||
while (scanf("%d", &a[n]) == 1) {
|
while (scanf("%d", &a[b]) == 1) {
|
||||||
n++;
|
b++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < n; i++) { // перевірка min-heap
|
for (int i = 0; i<b; i++) { // перевірка min-heap
|
||||||
int l = 2 * i + 1;
|
int l =2*i+1;
|
||||||
int r = 2 * i + 2;
|
int r =2*i+2;
|
||||||
|
|
||||||
if (l < n && a[l] < a[i]) {
|
if (l<b && a[l]<a[i]) {
|
||||||
printf("Nie je kopa.\n");
|
printf("Nie je kopa.\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (r < n && a[r] < a[i]) {
|
if (r<b && a[r]<a[i]) {
|
||||||
printf("Nie je kopa.\n");
|
printf("Nie je kopa.\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("Je to taka kopa:\n");
|
printf("Je to taka kopa:\n");
|
||||||
preorder(a, n, 0, 0);
|
preorder(a, b, 0, 0);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user