package SwingPractise;
public class TestToday
{
public static final int status_0 = 0; //没有预定
public static final int status_1 = 1; //已经预定
Seat seat[][] = new Seat[4][7];
public static void main(String args[])
{
TestToday tt = new TestToday();
tt.init();
System.out.println("******************************************************");
tt.modify();
tt.display();
System.out.println("******************************************************");
tt.BookSeat(true,4,0,0,"David");
tt.display();
}
//修改
public void modify()
{
seat[0][1].status = 1;
seat[0][3].status = 1;
seat[0][2].status = 1;
seat[0][4].status = 1;
seat[0][5].status = 1;
seat[0][6].status = 1;
seat[1][3].status = 1;
seat[1][2].status = 1;
seat[1][4].status = 1;
seat[1][5].status = 1;
seat[0][6].status = 1;
}
//初始化
public void init()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<7;j++)
{
seat[i][j] = new Seat();
seat[i][j].row = i;
seat[i][j].line = j;
seat[i][j].status = TestToday.status_0;
}
}
System.out.println("End");
}
//display
public void display()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<7;j++)
{
System.out.println("row = " + seat[i][j].row + " -- line = " + seat[i][j].line
+ " -- status = " + seat[i][j].status + "-- CustName = " + seat[i][j].custNm);
}
}
}
/*
* flag : true 连续座位; flase 非连续座位
* number : 定票的数量
* row : 行号 ; line : 列号
*/
public void BookSeat(boolean flag,int number,int row,int line,String custNm)
{
//连续座位
if(true == flag)
{
int num = 0; //第k行空座位数目
int i_row = 0;
nie:
while(i_row<4)
{
num = 0;
for(int k=0;k<7;k++)
{
if(seat[i_row][k].status == 0)
{
num++;
}
}
if(num>=number)
{
for(int k=0;k<7;k++)
{
if(seat[i_row][k].status == 0)
{
seat[i_row][k].status = 1;
seat[i_row][k].custNm = custNm;
number--;
}
if(number==0)
{
break nie;
}
}
}
else
{
i_row = i_row + 1;
}
}
}
//非连续座位
else
{
}
}
}
class Seat
{
int row = 0;
int line = 0;
int status = 0;
String custNm = "";
}
分享到:
相关推荐
连续投影算法(Sequential Projection Algorithm, 简称SPA)是一种常用的数据分析方法,特别是在光谱数据分析领域,用于特征波长的选择。它通过寻找最优化的投影方向,将原始高维数据投影到低维空间,从而突出关键...
连续平均法(Multiple-Stage Assignment,简称MSA)是一种在交通网络分析中常用于模拟交通流量分配的算法。它是一种迭代方法,通过对交通需求和路网供给之间的动态调整,逐渐接近最优的交通分配状态。MSA在城市规划...
连续投影算法(Sequential Projection Algorithm, SAP)是一种在高维数据中寻找低维子空间的线性降维技术,常用于数据分析、特征选择和数据可视化。MATLAB作为一种强大的数值计算和科学计算环境,是实现此类算法的...
总的来说,递归算法是解决排列问题的有效工具,通过对递归的理解和掌握,我们可以更好地处理各种组合和排列问题,为编程提供更高效、更优雅的解决方案。在实际编程中,理解并熟练运用递归算法对于提升算法能力至关...
用C语言编写排列算法,只是举一个简单的列子,有兴趣的改一下就行了。
光谱降维,建模时自变量的选择
圆排列算法是一种优化问题,主要用于解决如何在一个矩形框内排列不同大小的圆,使得排列的总长度最小。这个问题在实际应用中可能涉及到空间利用、布局优化等领域。在这个问题中,给定n个大小不等的圆,目标是找到一...
椭圆印章弧上文字排列算法设计文档,之前找的都要收费,先共享出来,精通算法的可以试试
排列组合是常见的数学问题,本文就以完整实例形式讲述了C#实现排列组合算法的方法。分享给大家供大家参考之用。具体方法如下: 首先,数学中排列组合,可表示为:排列P(N,R) 其实排列实现了,组合也就实现了,组合...
全排列算法是计算机科学中处理数组或集合的一种经典方法,主要应用于组合数学和算法设计领域。在本场景中,我们关注的...通过阅读和理解这些代码,你可以更深入地了解算法的具体实现细节,并学习如何在实际问题中应用。
连续投影算法,也被称为连续主成分分析(Continual Principal Component Analysis, CPC),是一种在机器学习和数据挖掘领域中用于高维数据降维的技术。它旨在通过连续地寻找数据集中的低维结构,来减少数据的复杂性...
排列组合生成算法是计算机科学中一个重要的概念,特别是在解决优化问题和数据分析时有着广泛应用。在C++编程语言中实现这样的算法,可以帮助我们有效地处理大量数据的排列和组合问题。下面将详细探讨排列组合生成...
【圆排列问题】是一种经典的算法问题,涉及到几何和优化的结合。给定一系列圆的半径,目标是找到一种排列方式,使得这些圆在矩形框内放置时,每个圆都与矩形底边相切,同时排列的总长度最小。这种问题可以转化为一个...
Johnson-Trotter 算法实现生成排列 ...Johnson-Trotter 算法是一种高效的生成排列算法,通过将问题规模减小到 n-1,然后将 n 插入到 n-1 个元素的每种排列中的 n 个可能位置中去,来得到较大规模问题的解。
Java排列组合算法 - 郭睿的专栏 - CSDN博客Java排列组合算法 - 郭睿的专栏 - CSDN博客
### 连续型隐马尔可夫模型(HMM)参数迭代算法 #### 知识点解析 **一、隐马尔可夫模型(HMM)基础** 隐马尔可夫模型是一种统计模型,用于描述一个含有未知参数的马尔可夫过程。这种模型在自然语言处理、语音识别...
在本文中,我们将深入探讨如何使用C++编程语言来实现圆排列算法,并通过回溯法来解决这个问题。圆排列是一个经典的组合数学问题,它涉及到在圆形表上摆放n个不同的对象,使得每两个相邻的对象都不相同。我们还将讨论...
### C经典算法之排列组合 #### 知识点解析 **排列组合**是计算机科学与数学中的一个重要概念,广泛应用于密码学、数据处理、优化问题等领域。本篇内容主要介绍了如何利用C语言实现一个基本的排列算法。 #### 排列...