数据结构java队列代码 数据结构java队列代码怎么写

数据结构:关于Java实现的一个队列 , 对其中的扩容步骤有疑问?答题的都是我爹这确实有点奇葩,要么修改resize方法 , 在进行复制的时候,先判断一下front和rear的值,如果front不为0,说明进行过出队列操作 , 再判断rear与front的值:
if(frontrear ){ //copy from front to rear 这样就可以去除多余的空位置,让front从0开始}
if(frontrear ){
//先复制后半段到新的数组,然后复制前半段到新数组的后面,这就保证0位置的就是队列的头
}
这样的话,就可以理解为什么resize之后将front置为0, 。
不知道这样的解释对不对,我看完上面的代码觉得就是这样的 。
Java数据结构跳舞配对问题(队列的应用)代码如下,可以直接运行 。
public static void main(String[] args) {
final int M = 6; // number of girls,可改动
final int N = 7; // number of boys,可改动
int x = 3;// some boy,可改动
int y = 5;// some girl,可改动
String result = "";// 记录结果 , 即第二个问题
// 初始化,假设队列存放男女生编号,从1开始
QueueInteger boys = new LinkedListInteger();
for (int i = 1; i = N; i++) {
boys.add(i);
}
QueueInteger girls = new LinkedListInteger();
for (int i = 1; i = M; i++) {
girls.add(i);
}
【数据结构java队列代码 数据结构java队列代码怎么写】 // 跳舞开始
int min = boys.size()girls.size() ? girls.size() : boys.size();
int k = 1;// songs
int count = 2; // 求出两个值 , 可改动
while (k1000) {//为了不死循环,这里假设最多有999支舞蹈
System.out.println("***This is the " + k + "st dance:");
for (int i = 0; imin; i++) {
// 跳舞,第一个问题:输出每曲配对情况
System.out.println("Boy " + boys.peek() + " = Girl "
+ girls.peek());
// 跳过的排到对尾
int boy = boys.remove();
boys.add(boy);
int girl = girls.remove();
girls.add(girl);
// 判断 x和y跳舞了没有
if (boy == xgirl == y) {
result += k + ",";
count--;
}
}
if (count == 0)
break;
// next dance
k++;
}
// 结果
if (count == 0)
System.out.println("\n***Boy " + x + " and Girl " + y
+ " dance together in : " + result);//第二个问题的解答,跳了哪几支舞
else
System.out.println("\n***Boy " + x + " and Girl " + y
+ " have no chance to dance!");//第二个问题的解答 , 两人没机会跳舞
}
Java数据结构中,如何遍历输出循环队列中的元素?求代码~你说的不太清楚,遍历队列是数组,集合 ,map还是其他什么
我就写个数组的给你,你要其他的话说明白了再写
public class Test {
public static void main(String[] args) {
// 定义数组
int[] a = new int[5];
// 初始化数组
for(int i = 0; i5; i++){
a[i] = i ;
}
// 循环输出数组
for(int i = 0; i5; i++){
System.out.print(a[i] + "");;
}
}
}
关于数据结构java队列代码和数据结构java队列代码怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读