#include <iostream> using namespace std; bool Veri_BST(int data_in[],int length); int main() { int n; cin>>n; int *data_in=new int[n]; //输入数组 for (int i=0;i<n i="" cin="">>data_in[i]; } bool ver=Veri_BST(data_in,n); cout<<ver<<endl; system("pause"); return 0; } bool Veri_BST(int data_in[],int length) { if (length<=0) { return false; } //记录最后一个 int root =data_in[length-1]; int i=0; //判断左子树是不是 for(;i<length-1;i++) { if (root<data_in[i]) { break; } } //判断右子树是不是 int j=i; for (;j<length-1 j="" if="" root="">data_in[j]) { return false; } } bool left_b=true; if (i>0) { //左子树递归 left_b=Veri_BST(data_in,i); } bool right_b=true; if (i<length-1) { //右子树递归 right_b=Veri_BST(data_in,length-1-i); } return (left_b&&right_b); } </length-1></n></iostream>