gpt4 book ai didi

c - 如何根据某个字段找到BST中的某个节点并打印这些节点的完整属性?

转载 作者:行者123 更新时间:2023-11-30 17:02:30 24 4
gpt4 key购买 nike

关于 BST 的另一个问题,

struct listing
{
int id;
char agent[12];
int price;
int size; //In square feet
int numBeds;
double numBaths;
int yearBuilt;
char address[ADD_LENGTH];
struct listing *left;
struct listing *right;
};

void findListingByPrice(struct listing *node, int maxPrice)
{
if(node == NULL)
{
printf("This node does not exist in the database.");
return;
}
else if(node->price < maxPrice)
{
//I'm stuck here.
}
}

好吧,所以我的问题是(希望它有意义),如何找到价格字段小于 maxPrice 的节点并仅打印这些节点的字段?就像如果有 3 个节点的价格低于 maxPrice,我只能打印出这 3 个节点的字段。我怎么做?谢谢!

最佳答案

您只需进行中序遍历,因为假设您正在按键构建树作为价格,它将按排序顺序给出价格。

void findListingByPrice(struct node *node, int maxPrice)
{
if(node == NULL)
{
return;
}else {
findListingByPrice(node->left, maxPrice);
if(node->price <=maxPrice) {
printf("Found 1\n");
print(node);
}
findListingByPrice(node->right, maxPrice);
}


}

访问this完整代码链接。

希望这对您有帮助。

关于c - 如何根据某个字段找到BST中的某个节点并打印这些节点的完整属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36534498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com