文档章节

实现电商的分类属性排序,利用笛卡尔积实现

帅的不像男的
 帅的不像男的
发布于 2016/03/31 11:20
字数 293
阅读 51
收藏 4

(1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列。 

(2)如果该列到尾部了,则这列index重置为0,而CounterIndex则指向前一列,相当于进位,把前列的index加1。 
(3)最后,由生成的行数来控制退出循环。 

   贴代码

public class Test {  
  
    private static String[] aa = { "aa1", "aa2" };  
    private static String[] bb = { "bb1", "bb2", "bb3" };  
    private static String[] cc = { "cc1", "cc2", "cc3", "cc4" };  
    private static String[][] xyz = { aa, bb, cc };  
    private static int counterIndex = xyz.length - 1;  
    private static int[] counter = { 0, 0, 0 };  
  
    public static void main(String[] args) throws Exception {  
  
        for (int i = 0; i < aa.length * bb.length * cc.length; i++) {  
            System.out.print(aa[counter[0]]);  
            System.out.print("\t");  
            System.out.print(bb[counter[1]]);  
            System.out.print("\t");  
            System.out.print(cc[counter[2]]);  
            System.out.println();  
  
            handle();  
        }  
    }  
  
    public static void handle() {  
        counter[counterIndex]++;  
        if (counter[counterIndex] >= xyz[counterIndex].length) {  
            counter[counterIndex] = 0;  
            counterIndex--;  
            if (counterIndex >= 0) {  
                handle();  
            }  
            counterIndex = xyz.length - 1;  
        }  
    }  
  
}

输出共2*3*4=24行: 
aa1 bb1 cc1 
aa1 bb1 cc2 
aa1 bb1 cc3 
aa1 bb1 cc4 
aa1 bb2 cc1 
aa1 bb2 cc2 
aa1 bb2 cc3 
aa1 bb2 cc4 
aa1 bb3 cc1 
aa1 bb3 cc2 
aa1 bb3 cc3 
aa1 bb3 cc4 
aa2 bb1 cc1 
aa2 bb1 cc2 
aa2 bb1 cc3 
aa2 bb1 cc4 
aa2 bb2 cc1 
aa2 bb2 cc2 
aa2 bb2 cc3 
aa2 bb2 cc4 
aa2 bb3 cc1 
aa2 bb3 cc2 
aa2 bb3 cc3 
aa2 bb3 cc4

本文转载自:http://xiemingmei.iteye.com/blog/1484587

共有 人打赏支持
帅的不像男的
粉丝 10
博文 87
码字总数 46416
作品 0
深圳
程序员
关系数据库

关系数据库: 关系模型由:关系数据结构、关系操作集合、关系完整性约束三部分。 关系模型三个方面:完整性约束、关系数据库系统中实现关系操作的一种语言、关系演算。 完整性约束: 关系 域...

mehome
2017/04/17
0
0
笛卡尔积问题,求两数组有序对个数.

某面试的算法题,笛卡尔积问题,求两个int数组组合成有序对(pair)个数有多少,如何最快时间计算出,手写实现CODE。 一开始还在回忆神马事笛卡尔积,不过面试官也稍微解释了下,奈何面试时有点...

famince
2014/08/22
263
3
卷积神经网络「失陷」,CoordConv来填坑

  选自Uber   作者:Rosanne Liu等   机器之心编译      卷积神经网络拥有权重共享、局部连接和平移等变性等非常优秀的属性,使其在多种视觉任务上取得了极大成功。但在涉及坐标建...

机器之心
07/13
0
0
卷积神经网络「失陷」,CoordConv 来填坑

选自Uber,作者:Rosanne Liu等,机器之心编译。 卷积神经网络拥有权重共享、局部连接和平移等变性等非常优秀的属性,使其在多种视觉任务上取得了极大成功。但在涉及坐标建模的任务上(如目标...

07/13
0
0
MySQL的JOIN(一):用法

MySQL的JOIN(一):用法 JOIN的含义就如英文单词“join”一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接。这里描述先甩出一张用烂了的图,然后插入测试数据。 CREATE...

法斗斗
01/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

此生1.3

颜值是开胃菜,不要太在意,正餐才是重点。

colinux
今天
1
0
[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
3
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
3
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
1
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部