java rotateright_JAVA新手求助 关于这2个方法 rotateLeft() rotateRight()

如下程序段importstaticjava.lang.Long.*;publicclassTryBitMethods{publicstaticvoidmain(String[]args){longnumber=0xF0000000000000FL;System.out.println("number:\n"+toBinarySt...

如下程序段

import static java.lang.Long.*;

public class TryBitMethods{

public static void main(String[]args){

long number = 0xF0000000000000FL;

System.out.println("number:\n"+toBinaryString(number));

long result = rotateLeft(number,2);

System.out.println("number rotated left 2 bits:\n"+toBinaryString(number));

result = rotateRight(number,3);

System.out.println("number rotated right 3 bits:\n"+toBinaryString(number));

result = reverse(result);

System.out.println("Previous result reversed:\n"+toBinaryString(number));

System.out.println("Bit count in number:\n"+bitCount(number));

}

}

编译无报错 但实际结果如下

number:

111100000000000000000000000000000000000000000000000000001111

number rotated left 2 bits:

111100000000000000000000000000000000000000000000000000001111

number rotated right 3 bits:

111100000000000000000000000000000000000000000000000000001111

Previous result reversed:

111100000000000000000000000000000000000000000000000000001111

rotateLeft(number,2) 与rotateRight(number,3)

结果与result 相同?

展开

Java中,我们可以使用自定义类来实现红黑二叉树(Red-Black Tree)。红黑树是一种自平衡的二叉查找树,每个节点都被标记为红色或黑色,满足以下五个性质: 1. 每个节点是红色或黑色。 2. 根节点是黑色。 3. 每个叶节点(空节点)是黑色。 4. 如果一个节点是红色的,则它的两个子节点都是黑色。 5. 从任一节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点。 下面是创建一个简单的红黑树节点和类的示例: ```java public class Node { int key; boolean color; // red or black Node left, right, parent; // constructor and getters/setters... } public class RedBlackTree { private Node root; private boolean isRootRed; // to check if root is red // methods for insertion, deletion, balancing (rotate and color flips) public void insert(int key) { root = insert(root, key); } private Node insert(Node node, int key) { // ...insertion logic with proper coloring and balancing } public void delete(int key) { root = delete(root, key); } private Node delete(Node node, int key) { // ...deletion logic with balancing after removing a node } // helper methods for checking balance and rebalancing private boolean isBalanced(Node node) { // ...implementation of the balance check } private void rotateLeft(Node node) { // ...implementation of left rotation } private void rotateRight(Node node) { // ...implementation of right rotation } private void flipColors(Node node) { // ...implementation of color flipping } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值