「java队列如何传入数组」java队列如何传入数组数据
本篇文章给大家谈谈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队列如何传入数组数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-19,除非注明,否则均为
原创文章,转载请注明出处。