樹、完全二叉樹以及堆的性質
完成二叉樹的靜態實現特徵是本題的關鍵,感覺使用結構體,可能會超時呢~~
//不需要建樹直接根據完全二叉樹的性質使用
//陣列下標從1開始
#include
"bits/stdc++.h"
using
namespace std;
const
int maxn =
1e3+10;
int m;
int n;
int data[maxn]
;vector<
int> post;
bool isheap;
void
checkmax
(int root)
else
if(r<=n && data[r]
>data[root]
)checkmax
(l);
checkmax
(r);
post.
push_back
(data[root]);
return;}
}void
checkmin
(int root)
else
if(r<=n && data[r]
)checkmin
(l);
checkmin
(r);
post.
push_back
(data[root]);
return;}
}int
main()
isheap =
true
; post.
clear()
;//首先來看預先是max heap,還是min heap
if(data[1]
> data[n]
)else
}else
else
}for
(int j=
0;j)else}}
return0;
}
柳神的**,她將判斷放在讀入裡了
#include
using
namespace std;
int a[
1005
], m, n;
void
postorder
(int index)
intmain()
if(maxn ==1)
printf
("max heap\n");
else
if(minn ==1)
printf
("min heap\n");
else
printf
("not heap\n");
postorder(1
);}return0;
}
判斷是否是閏年
使用者輸入月份,判斷當前月份為幾月,並輸出有多少天。如果使用者輸入2月份,則請使用者輸入年份,判斷平年則輸出28天,閏年則輸出29天。能被4整除但不能被100整除,或者能被400整除 months input 請輸入當前月份 while notmonths.isdigit or int months...
判斷是否是素數
第一次嘗試 define crt secure no warnings include include intisprimenum int num for int i 2 i num i return1 int main else for int i 100 i 200 i return0 此 利用...
判斷是否是回文
輸入 請輸入數時用空格隔開輸入你要判斷是否是回文的個數 1 5 9 9 5 1 輸出 您輸入的是回文 1 include stdio.h 2 define n 6 通過更改 n 的值,可以改變輸入的數的個數3 本題思想用陣列的第一位與最後一位相比,然後依次第二與倒數第二。4 但每輸入乙個數要用空格隔...