gpt4 book ai didi

java - 计数反转 - 字符数组不想交换?

转载 作者:行者123 更新时间:2023-12-01 09:56:34 25 4
gpt4 key购买 nike

我正在尝试计算排列中的反转,为了做到这一点,我必须进行交换。重点是 A char 数组必须看起来像 B,我正在尝试使用类似冒泡排序机制的东西,但是交换根本不起作用,我不知道为什么,这是一个代码:

char[] john = {'A', 'A', 'C', 'B'};
char[] marg = {'B', 'A', 'C', 'A'};

for(int i=0; i<john.length; i++){
for(int j=i+1; j<john.length; j++){
if(marg[i]==john[j]){
char temp = john[j];
john[j] = john[j-1];
john[j-1] = temp;
counter++;
}
}
}

循环之后 john 数组看起来和之前一模一样。

我想将 char 数组 john 转换为 marg(对所有交换进行计数),因此对于此示例,计数器的值应为 4。

我做错了什么?

最佳答案

我认为你应该将 john[j]john[i] 交换,而不是将 john[j]john[ j-1]。目前,您确实交换了 john 的最后两个元素两次,从而获得输入结果。

关于java - 计数反转 - 字符数组不想交换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37163778/

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