锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国内久久精品视频,91在线网站,激情国产一区 http://www.aygfsteel.com/chinayuan/zh-cn Fri, 20 Jun 2025 01:52:42 GMT Fri, 20 Jun 2025 01:52:42 GMT 60 絎涘崱灝?dāng)涔樋U繍綆楃粨鏋滅殑杈撳嚭{n1,n2...}*{m1,m2,m3..}*{p1,p2,p3...}* http://www.aygfsteel.com/chinayuan/archive/2008/09/02/226246.htmlJoson Joson Mon, 01 Sep 2008 23:15:00 GMT http://www.aygfsteel.com/chinayuan/archive/2008/09/02/226246.html http://www.aygfsteel.com/chinayuan/comments/226246.html http://www.aygfsteel.com/chinayuan/archive/2008/09/02/226246.html#Feedback 2 http://www.aygfsteel.com/chinayuan/comments/commentRss/226246.html http://www.aygfsteel.com/chinayuan/services/trackbacks/226246.html
import java.util.Stack;
/**
*
* 瀹炵幇絎涘崱灝?dāng)涔樋U繍綆楃粨鏋滅殑杈撳嚭錛?br />
* {n1,n2...}*{m1,m2,m3..}*{p1,p2,p3...}*....
* 妯″瀷闈炲父綾諱技鏍?wèi)鐨勫厛鏍归亶鍘喗帡娉曟垨鍥剧殑娣卞害浼樺厛鎼滅储绠楁?鏈変簺鍕夊己),濡傛灉杈撳叆鏄?
* {n1,n2}*{m1,m2,m3}*{p1,p2,p3}
* 閭d箞鎼滅儲(chǔ)妯″瀷鏄?
* root-->n1--->m1--->p1
* --->p2
* --->p3
* --->m2--->p1
* --->p2
* --->p3
* --->m3--->p1
* --->p2
* --->p3
* root-->n2--->m1--->p1
* --->p2
* --->p3
* --->m2--->p1
* --->p2
* --->p3
* --->m3--->p1
* --->p2
* --->p3
* 浠庝笂闈㈠彲浠ョ湅鍒頒粠root鍑哄彂,璁塊棶鍑烘潵鐨勬ā鍨嬪氨鏄竴棰楁爲(wèi),root琛ㄧず絎竴嬈″眰嬈?
* 姣忔浠庢爲(wèi)鐨勭浜屽眰鑺傜偣鍑哄彂鍒版爲(wèi)鐨勫彾瀛愯妭鐐圭粨鏉?鎵璁塊棶榪囩殑鑺傜偣璁板綍灝辨槸涓涓瑳鍗″皵涔樼Н榪愮畻緇撴灉.
*
*/
public class DescartesMultiplication {
public static void main(String[] args) {
//initiate all of data:
ArrayList list1= new ArrayList();
ArrayList list2= new ArrayList();
ArrayList list3= new ArrayList();
ArrayList list4= new ArrayList();
ArrayList root= new ArrayList();
// list1.add("1");
// list2.add("2");
// list2.add("3");
// list3.add("4");
// list3.add("5");
// list3.add("6");
// list3.add("7");
// list4.add("8");
// list4.add("9");
list1.add(1);
list2.add(2);
list2.add("1");
list2.add(3.3);
list3.add(4.4);
list3.add(5);
list3.add(6.5);
list3.add(7.0);
list4.add(8.2);
list4.add(9.1);
list4.add(new Object());
root.add(list1);
root.add(list2);
root.add(list3);
root.add(list4);
//print all of data:
for (int i = 0; i < root.size(); i++) {
ArrayList list=new ArrayList();
ArrayList item = (ArrayList) root.get(i);
for (int j = 0; j < item.size(); j++) {
Object element = item.get(j);
list.add(element);
}
printArrayList(list);
}
//begin to a depth-first search traverse from the root node.
System.out.println("-----Below is a result of DescartesMultiplication-----");
/**
* 褰撴爲(wèi)鐨勬誨眰嬈℃暟>1鏃?娉ㄦ剰鏍?wèi)鐨勬誨眰嬈℃暟=root.size()-1.
*/
if(root.size()>0){
/**
* 寰楀埌絎簩灞傛涓婃墍鏈夌殑鏍?wèi)鑺傜?
*/
ArrayList nodeList = (ArrayList) root.get(0);
/**
* stack涓昏鐢ㄦ潵璁板綍錛屼竴嬈′粠鏍?wèi)鐨劷W簩灞傝妭鐐瑰埌鏍?wèi)鐨勫彾瀛愯妭鐐圭殑鏃跺欙紝鎵璁塊棶榪囩殑鎵鏈夎妭鐐?
*/
Stack<String> stack= new Stack();
/**
* 浠庢爲(wèi)鐨勭浜屽眰嬈″紑濮嬪厛搴忛亶鍘嗘暣棰楁爲(wèi).
*/
traverse(root,0,nodeList,stack);
}
}
public static void printArrayList(ArrayList list){
StringBuffer sb=new StringBuffer();
sb.append("{");
for (int i = 0; i < list.size(); i++) {
sb.append(list.get(i).toString()+",");
}
sb.deleteCharAt(sb.length()-1);
sb.append("}");
System.out.println(sb.toString());
}
public static void printArrayList(Object[] array){
StringBuffer sb=new StringBuffer();
sb.append("{");
for (int i = 0; i < array.length; i++) {
sb.append(array[i].toString()+",");
}
sb.deleteCharAt(sb.length()-1);
sb.append("}");
System.out.println(sb.toString());
}
/**
* 榪欎釜鏂規(guī)硶涓昏鐢ㄦ潵瀹炵幇榪欑for鐨勫祵濂楁ā鍨?
* for()
* for()
* for()
* for()
* ...
* @param root 琛ㄧず鏁撮鏍?br />
* @param treeDepthCounter 璁板綍絎嚑灞傛,0琛ㄧず絎竴灞傛,1琛ㄧず絎簩灞傛,...
* @param nodeList 璁板綍鍦ㄨ鏍?wèi)鐨勫眰娆′笂鎵鏈夎妭鐐?灝辨瘮濡傜浜屽眰鐨勬墍鏈夎妭鐐規(guī)槸{n1,n2}
* @param stack 涓昏鐢ㄦ潵璁板綍錛屼竴嬈′粠鏍?wèi)鐨劷W簩灞傝妭鐐瑰埌鏍?wèi)鐨勫彾瀛愯妭鐐圭殑鏃跺欙紝鎵璁塊棶榪囩殑鎵鏈夎妭鐐?
*/
public static void traverse(ArrayList root,int treeDepthCounter,ArrayList nodeList, Stack stack){
for (int i = 0; i < nodeList.size(); i++) {
/**
* 鍙栧緱涓涓爲(wèi)鑺傜偣
*/
Object element = nodeList.get(i);
/**
* 璁塊棶璇ュ眰涓殑涓涓妭鐐?璁板綍璇ヨ妭鐐?br />
*/
stack.push(element);
/**
* root.size()=鏁撮鏍?wèi)鎵鎷ユ湁鐨勫眰嬈℃暟-1
* treeDepthCounter >= root.size()-1 ,琛ㄧず宸茬粡鍒拌揪鏍?wèi)鐨勫彾瀛愯妭鐐?
*/
if( treeDepthCounter >= root.size()-1) {
/**
* 濡傛灉榪欐浠庢爲(wèi)鐨勭浜屽眰鑺傜偣鍒版爲(wèi)鐨勫彾瀛愯妭鐐圭殑鏃跺欑粨鏉燂紝
* 閭d箞鎵撳嵃姝ゆ鎼滅儲(chǔ)涓闂殑鎵鏈夎妭鐐?stack淇濆瓨璇ユ璁塊棶榪囩殑鎵鏈夎妭鐐?br />
*/
Object[] one_traverse=new Object[root.size()];
/**
* 鍙栧嚭鍜屾墦鍗板綋鍓峴tack涓殑鎵鏈夎褰?浣嗘槸涓嶇牬鍧弒tack涓殑鎵鏈夎褰?
*/
stack.copyInto(one_traverse);
printArrayList(one_traverse);
}else {
/**
* 寮濮嬭闂笅涓灞傛鐨勬爲(wèi),nextDeepCounter涓轟笅涓灞傛鐨勫眰嬈℃暟.
*/
int nextDeepCounter=treeDepthCounter+1;
/**
* 寰楀埌涓嬩竴灞傛涓婃墍鏈夌殑鏍?wèi)鑺傜?姣斿絎?灞傛涓婄殑鏍?wèi)鑺傜傄?guī)槸{m1,m2,m3}.
*/
ArrayList nextNodeList = (ArrayList) root.get(nextDeepCounter);
/**
* 寮濮嬭闂笅涓灞傛鐨勬爲(wèi)鑺傜偣.
*/
traverse(root,nextDeepCounter,nextNodeList,stack);
}
/**
* 褰撹鑺傜偣璁塊棶緇撴潫鏃?浠庤褰曚腑鍒犻櫎璇ヨ妭鐐?
*/
stack.pop();
}
}
}
濡傛灉杈撳叆鍐呭涓猴細(xì)
{1}
{2,3}
{4,5,6,7}
{8,9}
杈撳嚭緇撴灉涓猴細(xì)
{1,2,4,8}
{1,2,4,9}
{1,2,5,8}
{1,2,5,9}
{1,2,6,8}
{1,2,6,9}
{1,2,7,8}
{1,2,7,9}
{1,3,4,8}
{1,3,4,9}
{1,3,5,8}
{1,3,5,9}
{1,3,6,8}
{1,3,6,9}
{1,3,7,8}
{1,3,7,9}
濡傛灉杈撳叆鍐呭涓猴細(xì)
{1}
{2,1,3.3}
{4.4,5,6.5,7.0}
{8.2,9.1,java.lang.Object@3a803a80}
閭d箞杈撳嚭緇撴灉涓猴細(xì)
{1,2,4.4,8.2}
{1,2,4.4,9.1}
{1,2,4.4,java.lang.Object@3a803a80}
{1,2,5,8.2}
{1,2,5,9.1}
{1,2,5,java.lang.Object@3a803a80}
{1,2,6.5,8.2}
{1,2,6.5,9.1}
{1,2,6.5,java.lang.Object@3a803a80}
{1,2,7.0,8.2}
{1,2,7.0,9.1}
{1,2,7.0,java.lang.Object@3a803a80}
{1,1,4.4,8.2}
{1,1,4.4,9.1}
{1,1,4.4,java.lang.Object@3a803a80}
{1,1,5,8.2}
{1,1,5,9.1}
{1,1,5,java.lang.Object@3a803a80}
{1,1,6.5,8.2}
{1,1,6.5,9.1}
{1,1,6.5,java.lang.Object@3a803a80}
{1,1,7.0,8.2}
{1,1,7.0,9.1}
{1,1,7.0,java.lang.Object@3a803a80}
{1,3.3,4.4,8.2}
{1,3.3,4.4,9.1}
{1,3.3,4.4,java.lang.Object@3a803a80}
{1,3.3,5,8.2}
{1,3.3,5,9.1}
{1,3.3,5,java.lang.Object@3a803a80}
{1,3.3,6.5,8.2}
{1,3.3,6.5,9.1}
{1,3.3,6.5,java.lang.Object@3a803a80}
{1,3.3,7.0,8.2}
{1,3.3,7.0,9.1}
{1,3.3,7.0,java.lang.Object@3a803a80}
]]>
主站蜘蛛池模板:
广灵县 |
溧阳市 |
萨嘎县 |
扬州市 |
兴宁市 |
陆河县 |
肇州县 |
二手房 |
金湖县 |
仁化县 |
大化 |
襄垣县 |
兴山县 |
庄浪县 |
金昌市 |
凤阳县 |
蒙阴县 |
武隆县 |
太和县 |
土默特右旗 |
丰顺县 |
营口市 |
南部县 |
韩城市 |
珠海市 |
岱山县 |
界首市 |
永寿县 |
莆田市 |
普安县 |
方山县 |
红安县 |
遂宁市 |
绵竹市 |
鞍山市 |
新津县 |
绥化市 |
宝应县 |
洪雅县 |
社旗县 |
松潘县 |