递归 b+1 b++

#include<iostream>
using namespace std;
void f(int b,int e)
{
if(b<=e)
{
cout<<b<<endl;
f(b+1,e);//必须是b+1  b++不对
}
else return;
}
int main()
{
f(0,9);
return 0;
}

转载于:https://www.cnblogs.com/zhangshuyao/p/8527606.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
B+树是一种常用的数据结构,用于在数据库和文件系统中进行索引操作。下面是一个简单的B+树的Python代码示例: ```python class BTreeNode: def __init__(self, leaf=False): self.leaf = leaf self.keys = [] self.values = [] self.next = None class BPlusTree: def __init__(self, degree): self.root = BPlusTreeNode(True) self.degree = degree def insert(self, key, value): if key in self.keys: # 如果键已存在,则更新对应的值 index = self.keys.index(key) self.values[index] = value else: if len(self.keys) == 0: # 如果树为空,则直接插入键值对 self.keys.append(key) self.values.append(value) else: # 否则,递归地插入键值对 if len(self.keys) == 2 * self.degree - 1: # 如果当前节点已满,则进行分裂 new_root = BPlusTreeNode() new_root.children.append(self.root) self.root = new_root self.split_child(self.root, 0) self.insert_non_full(self.root, key, value) def insert_non_full(self, node, key, value): i = len(node.keys) - 1 if node.leaf: # 如果是叶子节点,则直接插入键值对 node.keys.append(None) node.values.append(None) while i >= 0 and key < node.keys[i]: node.keys[i + 1] = node.keys[i] node.values[i + 1] = node.values[i] i -= 1 node.keys[i + 1] = key node.values[i + 1] = value else: # 如果是内部节点,则找到合适的子节点递归插入 while i >= 0 and key < node.keys[i]: i -= 1 i += 1 if len(node.children[i].keys) == 2 * self.degree - 1: # 如果子节点已满,则进行分裂 self.split_child(node, i) if key > node.keys[i]: i += 1 self.insert_non_full(node.children[i], key, value) def split_child(self, parent, index): child = parent.children[index] new_child = BPlusTreeNode(child.leaf) parent.keys.insert(index, child.keys[self.degree - 1]) parent.values.insert(index, child.values[self.degree - 1]) parent.children.insert(index + 1, new_child) new_child.keys = child.keys[self.degree:] new_child.values = child.values[self.degree:] child.keys = child.keys[:self.degree - 1] child.values = child.values[:self.degree - 1] def search(self, key): return self.search_recursive(self.root, key) def search_recursive(self, node, key): i = 0 while i < len(node.keys) and key > node.keys[i]: i += 1 if i < len(node.keys) and key == node.keys[i]: return node.values[i] elif node.leaf: return None else: return self.search_recursive(node.children[i], key) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值