繁体   English   中英

如何在二维数组Java中添加行的元素

[英]How can I add up the elements of a row in a 2 dimensional array Java

嘿,我正在尝试为最近最少使用的分页算法编写模型。 我对Java和编码相对较新,我只是在代码中找不到错误。

我想用二维数组实现空闲内存,当引用一行时,我将相应行中的位更改为1,并将相应列中的位更改为0.然后我想在每行中添加元素并对它们进行排序使用bubblesort算法。

存在我的问题:似乎我无法得到加法或排序权。 我希望有人可以帮助我,因为无论我尝试什么,它似乎都行不通。

这是我的代码的一部分,因为它似乎在stackoverflows规则,我不能发布整个代码。 page [] []是我用来改变字节的2d数组。

我会非常感激任何帮助,因为我正在缓慢但肯定地失去动力。

// array for bubblesort and adding up of rows
        int sort[] = new int[page.length];
        int sumtemp = 0;
        int sum = 0;
        for (int i = 0; i < page.length; i++) {
            for (int j = 0; j < page[i].length; j++) {
                sumtemp += page[i][j];
                sum = sumtemp;
            }
            for (i = 0; i < page.length; i++)
                sort[i] = sum;
            sumtemp = 0;

        }

        // bubblesort
        int n1 = sort.length;
        int temp = 0;

        for (int i = 0; i < n1; i++) {
            for (int j = 1; j < (n1 - i); j++) {

                if (sort[j - 1] > sort[j]) {
                    // sort
                    temp = sort[j - 1];
                    sort[j - 1] = sort[j];
                    sort[j] = temp;

                }

            }

        }

我的输出:它一直工作到最后一个输出,其中要删除的页面应为5而不是4:

内存中应包含多少页?

您要引用哪个页面? 请选择1到5之间的数字。完成参考后,请输入

4

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

1 1 1 0 1

0 0 0 0 0

要删除的页面= 1

您要引用哪个页面? 请选择1到5之间的数字。

你完成了参考,请输入

3

0 0 0 0 0

0 0 0 0 0

1 1 0 1 1

1 1 0 0 1

0 0 0 0 0

要删除的页面= 1

您要引用哪个页面? 请选择1到5之间的数字。完成参考后,请输入

1

0 1 1 1 1

0 0 0 0 0

0 1 0 1 1

0 1 0 0 1

0 0 0 0 0

要删除的页面= 5

您要引用哪个页面? 请选择1到5之间的数字。完成参考后,请输入

2

0 0 1 1 1

1 0 1 1 1

0 0 0 1 1

0 0 0 0 1

0 0 0 0 0

要删除的页面= 4

您要引用哪个页面? 请选择1到5之间的数字。完成参考后,请输入

这应该是冒泡排序逻辑:

for (int i = 0; i < n1; i++) {
        for (int j = 0; j < (n1 - i - 1); j++) {

            if (sort[j + 1] > sort[j]) { //ascending order
                // sort
                temp = sort[j + 1];
                sort[j + 1] = sort[j];
                sort[j] = temp;

            }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM