`
我是小仙321
  • 浏览: 13674 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

螺旋队列的java实现

    博客分类:
  • Java
阅读更多
import java.util.Scanner;

public class Luoxuan {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		while(true){
		Scanner sc1=new Scanner(System.in);
		System.out.println("请输入x坐标:");
		int a=sc1.nextInt();
		System.out.println("请输入y坐标:");
		int b=sc1.nextInt();
		System.out.printf("坐标(%d,%d)上的数是:",a,b);
		System.out.println(new Luoxuan().getVal(a,b));
		}

	}
	private int getVal(int a,int b){
		//定位点(a,b)在第几圈,默认原点为第0圈,向外扩散
		int n=Math.max(Math.abs(a), Math.abs(b));
		//如果(a,b)为原点,返回1
		if(n==0) return 1;
		int retval;
		//求出坐标(n,n)点上的数
		int val=(int) Math.pow((2*n+1), 2)-n*6;
		//求出(a,b)与(n,n)点的位置关系
		int i=n-a,j=n-b;
		 //将正方形分为上下左右4条边,需要注意对圈上的所有点不重不漏
		//(a,b)在右边
			if(i==0){
				//如果是右上角的点
				if(j==2*n) retval=val+6*n;
				else retval=val-j;
		}   //(a,b)在下边
			else if(j==0){
				retval=val+i;
			}//(a,b)在左边
			else if(i==2*n){
				retval=val+2*n+j;
			}//(a,b)在上边
			else retval=val+6*n-i;
		
		return retval;
		
	}

}

 

0
6
分享到:
评论

相关推荐

    栈和队列源代码

    6. **打印二维矩阵的螺旋顺序**:使用两个栈,一个负责行的前进,另一个负责列的移动,可以实现打印二维矩阵的螺旋顺序。 7. **最小生成树的Prim算法**:Prim算法在构造最小生成树时,使用优先队列(如Java的...

    java笔试面试题汇总 基础版 最新 最全

    - **面试题背景**:这两种散列表实现是Java中常用的键值对存储结构,掌握它们的区别对于提高代码质量非常有帮助。 - **核心知识点**: - **HashMap**:允许键和值为`null`,线程不安全,性能较高。 - **Hashtable*...

    逆时针螺旋式旋转输出

    在编程实现时,可以使用循环和条件判断来控制流程,或者利用队列等数据结构辅助处理。 逆时针螺旋输出的问题对于理解和掌握矩阵操作、边界条件处理以及循环控制逻辑有很好的锻炼作用,是计算机科学基础课程中的常见...

    实验报告-实验111

    在这个实验中,`CST` 类(Child Sibling Tree)使用Java泛型实现,包含一个内部类 `Node`,代表树中的一个节点。`Node` 类含有三个属性:`data` 存储节点的值,`child` 指向第一个孩子节点,`sibling` 指向下一个...

    Java/J2EE Job Interview Companion

    - **JMS(Java Message Service)**:实现消息传递,了解队列与主题模式。 - **XML与Web Services**:掌握XML解析、SOAP协议、WSDL文件的使用。 - **框架与工具**:如Spring、Hibernate、Struts等,了解其在项目中的...

    10个最常见的Java算法.doc

    * 栈(Stack)和队列(Queue)的实现:`class Stack {Node top; ...}`, `class Queue {Node first, last; ...}` * 链表的遍历、插入、删除等操作 链表是程序员在代码面试中经常遇到的数据结构,了解链表的实现和...

    《剑指Offer》学习80题java版本.zip

    本书涵盖了80个精心设计的问题,旨在帮助求职者熟练掌握Java语言中的核心概念和技术。在这里,我们将详细探讨其中的一些关键知识点。 1. **链表操作**:链表是数据结构的基础,面试中经常出现。《剑指Offer》可能...

    人工智能相关课程介绍 (2).docx

    数据结构与算法(Java)部分,主要内容包括常用数据结构(线性表、栈、队列、树、图等)的特点、存储表示、排序算法、查找算法等,旨在培养学生的数据结构和算法知识,并掌握度量算法效率的基本方法。 应用统计学与...

    leetcode跳跃-leetcode:LeetCode题记,Java语言

    使用队列实现栈 232 使用栈实现队列 946 合法的出栈序列 堆 相关代码 # Title 215 数组中第 k 大的数 264 295 ★★★ 寻找中位数 贪心算法 相关代码 # Title 045 跳跃游戏 055 跳跃游戏 376 摇摆序列 402 移除 k 个...

    交通大学计算机自考资料.zip

    学习这门课程,考生将理解软件生命周期中的关键概念,如瀑布模型、敏捷开发和螺旋模型,并学会使用UML进行系统建模。此外,还会涉及软件质量保证、风险管理以及项目管理等相关知识。 其次,"java设计(一)04747...

    清华大学计算机全套教程 加精

    学习软件工程,你需要理解瀑布模型、敏捷开发、螺旋模型等不同的开发方法论,并掌握项目管理、质量保证和风险管理的基本概念。 2. 汇编语言程序设计:汇编语言是计算机硬件层面的低级语言,用于编写与特定处理器...

    javalruleetcode-Algorithm:永无止境的LeetcodeQ

    螺旋矩阵 单程方法 二叉树中序遍历 使用堆栈进行迭代 矩阵中的最长递增路径 拓扑排序(矩阵) 洪水填充 深度优先搜索(矩阵) 找到镇长 单程方法 删除 K 位数字 堆栈方法 在旋转排序数组中搜索 二分查找 合并排序...

    计算机软件技术基础试卷及答案

    理解软件生命周期(SDLC)模型,如瀑布模型、增量模型、螺旋模型、敏捷开发等,是基础学习的重点。 2. **需求工程**:这是软件开发的第一步,包括需求获取、分析、规格说明和验证。学习如何编写有效的软件需求规格...

    武汉大学932软件工程考研资料

    资料可能涵盖数组、链表、栈、队列、树、图、哈希表等经典数据结构。考生需要理解它们的工作原理,掌握其操作(如查找、插入、删除)的时间复杂度,并能运用到算法设计中。同时,动态规划和贪心策略等高级数据结构...

    软件设计师上午题错题集

    * 软件开发模型:包括瀑布模型、螺旋模型、V模型等 * 软件项目管理:包括项目计划、项目监控、项目控制等 五、系统开发与运营 * 系统开发方法:包括结构化方法、面向对象方法、敏捷开发等 * 系统测试方法:包括...

    AirplaneJLS:CMP112 飞机班级

    5. **集合框架**:用ArrayList或LinkedList等集合存储飞机对象,实现对飞机队列的管理。 6. **文件I/O**:如果涉及记录航班信息,可能需要用到文件读写操作。 7. **单元测试**:使用JUnit测试飞机类的各种操作,...

    【全覆盖路径规划】全覆盖路径规划代码

    在这个场景中,"全覆盖路径规划代码" 提供了实现这一功能的具体算法和程序。 路径规划是机器人学中的核心问题之一,它旨在为机器人找到从起点到终点的最优或次优路径,同时避开障碍物。在全覆盖路径规划中,目标...

    斐波纳契数列

    例如,你可以使用Python、Java、C++等语言实现,通过对比理解它们的语法差异和执行效率。 9. **软件设计模式**:斐波纳契数列的实现也可以作为设计模式的实例,如工厂方法、迭代器或装饰者模式。 10. **性能分析**...

    《计算机专业根底》考试大纲.docx

    - 常见数据结构:数组、链表、堆栈、队列、字符串、广义线性表、树和图的逻辑结构和物理存储结构,以及基本操作的实现。 - 查找和排序算法:如顺序查找、二分查找、直接插入排序、选择排序、快速排序等,以及它们...

    东方通——数据中心项目数据交换平台技术方案.docx

    * 数据交换平台支持跨网段数据交换,以多种通信方式实现不同部门之间的数据交换和转换,并对数据转换和传输过程实现集中统一控制和规范管理,可以支持多种数据接口,包括文件系统、数据库、消息队列等多种接口方式。...

Global site tag (gtag.js) - Google Analytics