小编Sam*_*Sam的帖子

Python数组旋转

所以我在python中实现了一个块交换算法.

我遵循的算法是这样的:

初始化A = arr [0..d-1]和B = arr [d..n-1] 1)执行以下操作直到A的大小等于B的大小

a)如果A较短,则将B分成B1和Br,使得Br与A的长度相同.交换A和Br以将ABlBr变为BrBlA.现在A处于最后的位置,因此重复出现在B.

b)如果A较长,则将A分成Al和Ar,使得Al与B交换Al和B的长度相同,以将AlArB变为BArAl.现在B处于最后的位置,因此重复出现在A.

2)最后,当A和B的大小相等时,阻止交换它们.

该网站上的C实现了相同的算法 - 阵列旋转

我的python代码是相同的

a = [1,2,3,4,5,6,7,8]

x = 2

n = len(a)


def rotate(a,x):
    n = len(a)

    if x == 0 or x == n:
        return a

    if x == n -x:
        print(a)
        for i in range(x):
            a[i], a[(i-x+n) % n] = a[(i-x+n) % n], a[i]
        print(a)
        return a

    if x < n-x:
        print(a)
        for i in range(x):
            a[i], a[(i-x+n) % n] = a[(i-x+n) % n], …
Run Code Online (Sandbox Code Playgroud)

python arrays recursion swap rotation

10
推荐指数
4
解决办法
3万
查看次数

Java中的ActionListener

/* I am trying to make a basic calculator in JAVA using swings. However, after adding
 * actionlisteners to each of my buttons, the actionPerformed method is never called. I can't
 *seem to figure out why .
 */

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class calculator extends JApplet implements ActionListener
{
         JLabel num1_label,num2_label,result_label;
         JTextField t1,t2,t3;
         JButton sum,sub,mul,div;     
         float num1,num2,res;

    public calculator ()
    {
        Container contentPanel = getContentPane();
        contentPanel.setLayout(new GridLayout(6,2));

        JLabel num1_label = new JLabel("Number 1");
        contentPanel.add(num1_label);

        JTextField t1 = …
Run Code Online (Sandbox Code Playgroud)

java swing actionlistener

1
推荐指数
1
解决办法
5722
查看次数

标签 统计

actionlistener ×1

arrays ×1

java ×1

python ×1

recursion ×1

rotation ×1

swap ×1

swing ×1