Java 队列

Java 队列importjava.util.Scanner;/***@author*@function:队列*@date2022年07月18日17:43*/classqueue{int[]data=newint[100];inthead;inttail;}publ

大家好,欢迎来到IT知识分享网。Java

import java.util.Scanner;

/**
 * @author
 * @function:队列
 * @date 2022年07月18日 17:43
 */
class queue{
    int []data = new int[100];
    int head;
    int tail;
}
public class exercise3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        queue q = new queue();
        q.head = 0;
        q.tail = 0;
        for(int i=0; i<9; i++){
            q.data[q.tail] = sc.nextInt();
            q.tail++;
        }
        while(q.head<q.tail){
            System.out.print(q.data[q.head]+"\t");
            q.head++;

            q.data[q.tail] = q.data[q.head];
            q.tail++;

            q.head++;
        }
    }
}
import java.util.Scanner;

/**
 * @author
 * @function:栈判断回文字符串
 * @date 2022年07月18日 17:43
 */
public class exercise3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char []s = new char[101];
        String A = sc.nextLine();
        char a[] = A.toCharArray();
        int len = a.length;
        int mid = len/2 - 1;

        int top = 0;
        for(int i=0; i<=mid; i++){
            s[++top] = a[i];
        }
        int next;
        if(len%2==0){
            next = mid + 1;
        }else{
            next = mid + 2;
        }

        for(int i=next; i<=len-1; i++){
            if(a[i]!=s[top]){
                break;
            }
            top--;
        }
        if(top==0){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
    }
}

 

import java.util.Scanner;

/**
 * @author
 * @function:利用队列,栈实现打牌
 * @date 2022年07月18日 17:43
 */
//队列
class queue{
    int []data = new int[1000];
    int head;
    int tail;
}
//
class stack{
    int []data = new int[10];
    int top;
}
public class exercise3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        queue q1 = new queue();//小哼
        queue q2 = new queue();//小哈
        stack s = new stack();//模拟桌上的牌
        int []book = new int[10];//记录已经出现的牌面
        q1.head = 0; q1.tail = 0;
        q2.head = 0; q2.tail = 0;
        s.top = 0;
        for(int i=0; i<6; i++){
            q1.data[q1.tail] = sc.nextInt();
            q1.tail++;
        }
        for(int i=0; i<6; i++){
            q2.data[q2.tail] = sc.nextInt();
            q2.tail++;
        }
        while(q1.head<q1.tail && q2.head<q2.tail){
            int t = q1.data[q1.head]; //小哼出的牌
            if(book[t]==0){ //表明桌上没有牌面为t的牌
                q1.head++;
                s.data[++s.top] = t;
                book[t] = 1;
            }else{
                q1.head++;
                q1.data[q1.tail] = t;
                q1.tail++;
                while(s.data[s.top]!=t){
                    book[s.data[s.top]] = 0;
                    q1.data[q1.tail] = s.data[s.top];
                    q1.tail++;
                    s.top--;
                }
            }
            t = q2.data[q2.head];//小哈打出的牌
            if(book[t]==0){
                q2.head++;
                s.top++;
                s.data[s.top] = t;
                book[t] = 1;
            }else{
                q2.head++;
                q2.data[q2.tail] = t;
                q2.tail++;
                while(s.data[s.top]!=t){
                    book[s.data[s.top]] = 0;
                    q2.data[q2.tail] = s.data[s.top];
                    q2.tail++;
                    s.top--;
                }
            }
        }
        if(q2.head==q2.tail){
            System.out.println("小哼Win");
            System.out.println("小哼当前手中的牌是");
            for(int i=q1.head; i<q1.tail; i++){
                System.out.print(q1.data[i]+"\t");
            }
            if(s.top>0){
                System.out.println("\n桌上的牌是");
                for(int i=1; i<=s.top; i++){
                    System.out.print(s.data[i]+"\t");
                }
            }else{
                System.out.println("桌上已经没有牌");
            }
        }else{
            System.out.println("小哈Win");
            System.out.println("小哈当前手中的牌是");
            for(int i=q2.head; i<q2.tail; i++){
                System.out.print(q2.data[i]+"\t");
            }
            if(s.top>0){
                System.out.println("\n桌上的牌是");
                for(int i=1; i<=s.top; i++){
                    System.out.print(s.data[i]+"\t");
                }
            }else{
                System.out.println("桌上已经没有牌");
            }
        }
    }
}

2 4 1 2 5 6
3 1 3 5 6 4
小哼Win
小哼当前手中的牌是
5 6 2 3 1 4 6 5
桌上的牌是
2 1 3 4

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/33078.html

(0)
上一篇 2023-12-07 07:33
下一篇 2023-12-07 17:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信