栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jmu-ds-栈与队列-stack、queue与string小综合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jmu-ds-栈与队列-stack、queue与string小综合

题目 使用栈与队列逐个处理字符串中的每个字符

将line中的字符依次入栈,然后输出栈中元素个数与栈顶元素。
输入一个字符x(待删除字符)。然后将栈中元素依次出栈并输出,出栈时将不等于x的字符依次入队列,以空格分隔。
输出队列元素个数,队头与队尾,以空格分隔。
最后输出队列中所有元素。


输入格式:

输入一个个字符串 输入一个字符x(待删除字符)

输出格式:

栈中元素个数 栈顶元素
栈中符合条件的元素(以空格分隔)
队列中元素个数 队头元素 队尾元素
队列中所有元素(以空格分隔)

输入样例:
ThisIsATest s
输出样例:
11 t
tseTAsIsihT
8 t T
teTAIihT

一、程序设计思路 **具体思路就是建栈和队列,把字符串依次入栈,在出栈时通过遍历栈中的元素,把与不同于题目要求的元素进队列,最后出队时通过遍历队头来输出队中的每一个元素。 根据样例可知,将与我们输入的字符x相同的字符筛选出来,并把字符串的重新打印出来。首先将输入的字符串和字符读入程序,把字符串读入栈中,并输入,完成第一个输出。再出栈,用变量保存并与输入的字符比较,如相同则进入队列,用字符串形式保存在变量,最后用数组的形式完成输出。** 二、代码实现

代码如下(示例):

import java.util.ArrayList;
import java.util.linkedList;
import java.util.Queue;
import java.util.Scanner;
import java.util.Stack;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String input = sc.nextLine();//按行读取
		String[] split = input.split(" ");//用空格分隔
		String str = split[0];
		char ch = split[1].charAt(0);
		Stack stk = new Stack();//建立Char栈对象
		int len = str.length();
		for(int i=0;i q = new linkedList<>();//队列
		while(stk.size()!=0) {
			char tmp =stk.pop();//出栈操作
			System.out.print(tmp);
			if(tmp!=ch) {
				q.add(tmp);}}
		System.out.println();
		int size = q.size();
		String output="";
		while(q.size()!=0) {
			output+=q.poll();//出队}
	System.out.println(size+""+output.charAt(0)+""+output.charAt(output.length()-1));
		System.out.print(output);		
	}
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684143.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号