`
jackey25
  • 浏览: 112548 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

机票问题 连续排列的算法

    博客分类:
  • EXAM
阅读更多
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 = "";
}
分享到:
评论

相关推荐

    连续投影算法,连续投影算法原理,matlab

    连续投影算法(Sequential Projection Algorithm, 简称SPA)是一种常用的数据分析方法,特别是在光谱数据分析领域,用于特征波长的选择。它通过寻找最优化的投影方向,将原始高维数据投影到低维空间,从而突出关键...

    连续投影算法_连续投影_连续投影算法_降维_

    连续投影算法的使用,具体安装使用过程可以百度,降维数据

    基于c语言排列组合算法

    排列组合问题的算法设计是指如何高效地生成所有可能的排列或组合。今天,我们将讨论基于C语言的排列组合算法实现。 一、全排列算法 全排列算法是指生成所有可能的排列的算法。常见的全排列算法有递归算法、分治...

    连续投影算法_光谱_连续投影算法_

    连续投影算法(Sequential Projection Algorithm, SPA)是一种在光谱分析领域广泛应用的数据预处理技术,它主要目的是从原始光谱数据中有效地提取具有代表性的特征波长。这些特征波长能够包含样品的主要信息,并有助...

    代码 改进蚁群算法求解连续空间优化问题代码

    代码 改进蚁群算法求解连续空间优化问题代码代码 改进蚁群算法求解连续空间优化问题代码代码 改进蚁群算法求解连续空间优化问题代码代码 改进蚁群算法求解连续空间优化问题代码代码 改进蚁群算法求解连续空间优化...

    SPA-连续投影算法-教程版

    **SPA(Singular Projection Algorithm)连续投影算法**是一种在高维数据中进行降维的统计方法,常用于数据可视化和预处理。它属于主成分分析(PCA)的一种变体,旨在保留原始数据集的主要信息,同时减少计算复杂度...

    PHP实现多种类型的排列组合算法

    在编程领域,排列组合算法是解决许多问题的关键,特别是在数据处理、数据分析以及各种优化问题中。PHP作为一种流行的服务器端脚本语言,虽然不是为高性能计算而设计,但其丰富的库和简洁的语法使得实现这些算法变得...

    连续投影算法SAP-matlab程序_matlab gui投影, matlab 运行连续投影算法显示变量太多怎么办-算法与数据结

    连续投影算法(Sequential Projection Algorithm, 简称SPA)是一种数据降维技术,常用于高维数据集的特征选择和预处理。它旨在找到一组线性无关的特征,以尽可能保留原始数据集的信息,同时降低计算复杂度。在机器...

    连续投影算法,连续投影算法原理,matlab源码 (1).zip

    连续投影算法(Sequential Projection Algorithm, SPA)是一种在高维数据降维中的常用方法,它主要用于找到数据集中的主要特征向量或子空间。该算法基于矩阵运算和线性代数,旨在通过最少的迭代次数来近似数据的主要...

    MSA-master_连续平均法MSA_MSA-master_msa_MSA分配算法_连续平均算法_

    连续平均法(Multiple-Stage Assignment,简称MSA)是一种在交通网络分析中常用于模拟交通流量分配的算法。它是一种迭代方法,通过对交通需求和路网供给之间的动态调整,逐渐接近最优的交通分配状态。MSA在城市规划...

    连续投影算法SAP-matlab程序

    连续投影算法(Sequential Projection Algorithm, SAP)是一种在高维数据中寻找低维子空间的线性降维技术,常用于数据分析、特征选择和数据可视化。MATLAB作为一种强大的数值计算和科学计算环境,是实现此类算法的...

    Java排列组合算法

    在编程领域,尤其是在算法设计和复杂问题解决中,排列组合是一种常见的数学概念,它们是解决许多问题的基础。本文将深入探讨Java中实现排列组合算法的方法,帮助开发者更好地理解和运用这些概念。 排列是有序的选择...

    算法分析 递归算法 n个数据的排列数

    总的来说,递归算法是解决排列问题的有效工具,通过对递归的理解和掌握,我们可以更好地处理各种组合和排列问题,为编程提供更高效、更优雅的解决方案。在实际编程中,理解并熟练运用递归算法对于提升算法能力至关...

    排列算法-C语言

    用C语言编写排列算法,只是举一个简单的列子,有兴趣的改一下就行了。

    SPA-连续投影算法-教程版.zip

    **SPA(Singular Spectrum Analysis)连续投影算法** SPA(Singular Spectrum Analysis)是一种基于奇异值分解(SVD)的统计数据分析方法,常用于时间序列分析、信号处理和数据降维等场景。它通过分解时间序列矩阵...

    圆排列问题-回溯法-排列集

    圆排列问题是一个复杂的问题,需要使用高级的算法来解决。在这个java程序中,我们使用回溯法来解决圆排列问题,并使用递归的方式来搜索所有可能的排列,这可以提高搜索的效率。 圆排列问题的解决思路可以分为以下几...

    连续投影算法,用来筛选变量

    光谱降维,建模时自变量的选择

    c++ 排列组合算法,代码简单

    C++中的排列和组合算法是解决数学问题和数据结构操作的强大工具。通过递归实现这些算法,可以使代码简洁且易于理解。然而,对于大规模数据集,应注意性能优化,例如使用迭代而非递归,或应用更高效的算法变体。此外...

    椭圆印章弧上文字排列算法设计文档

    椭圆印章弧上文字排列算法设计文档,之前找的都要收费,先共享出来,精通算法的可以试试

Global site tag (gtag.js) - Google Analytics