「java队列如何传入数组」java队列如何传入数组数据

博主:adminadmin 2022-12-19 12:06:07 64

本篇文章给大家谈谈java队列如何传入数组,以及java队列如何传入数组数据对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java传入一个数组和返回一个数组

import java.util.Arrays;

class Egg

{

public String[] names;

public String[] getOdd()

{

String[] arr = new String[0];

for(int i = 1; i  names.length; i += 2)

{

String[] dest = new String[arr.length + 1];

System.arraycopy(arr, 0, dest, 0, arr.length);

dest[dest.length - 1] = names[i];

arr = dest;

}

return arr;

}

public String[] getEven()

{

String[] arr = new String[0];

for(int i = 0; i  names.length; i += 2)

{

String[] dest = new String[arr.length + 1];

System.arraycopy(arr, 0, dest, 0, arr.length);

dest[dest.length - 1] = names[i];

arr = dest;

}

return arr;

}

}

public class Main

{

public static void main(String[] args)

{

Egg egg = new Egg();

egg.names = new String[]{ "yugi", "kaiba", "joey", "kensou", "yamazaki" };

System.out.println(Arrays.toString(egg.getOdd()));

System.out.println(Arrays.toString(egg.getEven()));

}

}

java队列怎么声明才能每次插入一个数组

import java.util.LinkedList;

import java.util.Queue;

public class TestQueue {

    public static void main(String[] args) {

        // 声明

        Queueint[] queue = new LinkedListint[]();

        int[] numArr1 = {26, 17};

        int[] numArr2 = {27, 18};

        // 添加

        queue.offer(numArr1);

        queue.offer(numArr2);

        // 提取队列第一个元素

        int[] element = queue.element();

        // 输出第一个元素

        System.out.println("输出第一个元素:" + element[0] + ", " + element[1]);

        System.out.println("循环输出队列:");

        for (int[] a : queue) {

            System.out.println(a[0] + ", " + a[1]);

        }

    }

}

java用数组实现队列

1.1. 队列的数据结构

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

1.2. Java实现

QueueTest

package ch04;

public class QueueTest {

public static void main(String[] args) {

ArrayQueue queue = new ArrayQueue(10);

System.out.println(queue.isEmpty());

for (int i = 0; i 10; i++) {

queue.insert(i);

}

System.out.println(queue.isFull());

while (!queue.isEmpty()) {

System.out.println(queue.remove());

}

}

}

class ArrayQueue {

private int[] arrInt;// 内置数组

private int front;// 头指针

private int rear;// 尾指针

public ArrayQueue(int size) {

this.arrInt = new int[size];

front = 0;

rear = -1;

}

/**

* 判断队列是否为空

*

* @return

*/

public boolean isEmpty() {

return front == arrInt.length;

}

/**

* 判断队列是否已满

*

* @return

*/

public boolean isFull() {

return arrInt.length - 1 == rear;

}

/**

* 向队列的队尾插入一个元素

*/

public void insert(int item) {

if (isFull()) {

throw new RuntimeException("队列已满");

}

arrInt[++rear] = item;

}

/**

* 获得对头元素

*

* @return

*/

public int peekFront() {

return arrInt[front];

}

/**

* 获得队尾元素

*

* @return

*/

public int peekRear() {

return arrInt[rear];

}

/**

* 从队列的对头移除一个元素

*

* @return

*/

public int remove() {

if (isEmpty()) {

throw new RuntimeException("队列为空");

}

return arrInt[front++];

}

}

运行结果如下:

false

true

1

2

3

4

5

6

7

8

9

java数组的传递

按照C的理解是传地址。Java的说法是传引用。

Java中基本数据类型是传值的。如boolean,byte,char,short,int,long,float,double。

Java中引用数据类型(包括数组,包括基本类型的数组)是传引用的。

int[] is = new int[]{1,2,3};

int[] is2 = is;

is2[0] = 10;

那么is[0]也跟着变化。

Java如何使用数组实现循环队列的案例

class Element{

int id;

String name;

Element(int a,String n){

id=a;name=n;

}

}

class SeqQueue{

int first,last,maxsize;

Element queue[];

SeqQueue(int i){

maxsize=i;

first=last=-1;

queue=new Element[i];

}

public void clear(){//置空

first=last=-1;

}

public boolean isEmpty(){//判空

if(first==-1)return true;

else return false;

}

public Element getFirst(){//取队列头元素

if(first==-1)return null;

else return queue[first+1];

}

public boolean isFull(){//判满

if((last+1)%maxsize==first)return true;

else return false;

}

public boolean enQueue(Element e){//入队

if(this.isFull())return false;

if(this.isEmpty())

first=last=0;

else

last=(last+1)%maxsize;

queue[last]=e;

return true;

}

public Element deQueue(){//出队

Element t=queue[first];

if(this.isEmpty())return null;

if(first==last){

queue[first]=null;

this.clear();

return t;

}

queue[first]=null;

first=(first+1)%maxsize;

return t;

}

public int getLength(){//队列长度

if(last=first)return last-first+1;

else return maxsize-(first-last)+1;

}

public void display(){//打印所有元素

int i,j;

for (i=first,j=0;jthis.getLength();i=(i+1)%maxsize,j++)

System.out.println(queue[i].id);

}

}

关于java队列如何传入数组和java队列如何传入数组数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-19,除非注明,否则均为首码项目网原创文章,转载请注明出处。