标签:
import java.util.Scanner; public class Cartesian { public HList list = new HList(); public void create() { System.out.print("表的行数和列数: "); Scanner sc = new Scanner(System.in); list.row = sc.nextInt(); list.col = sc.nextInt(); DList r = new DList(); for(int i=0; i<list.row; i++) { System.out.print("第"+(i+1)+"行: "); DList d = new DList(); for(int j=0; j<list.col; j++) { d.data[j] = sc.nextInt(); } if(list.next == null) { list.next = d; } else { r.next = d; } r = d; } r.next = null; } public void display() { DList p = list.next; while(p != null) { for(int i=0; i<list.col; i++) { System.out.print(p.data[i]+" "); } System.out.println(); p = p.next; } } public void link(Cartesian h1, Cartesian h2) { list.row = 0; list.col = h1.list.col + h2.list.col; DList p = h1.list.next; DList q, r = null; while(p != null) { q = h2.list.next; while(q != null) { DList d = new DList(); for(int i=0; i<h1.list.col; i++) { d.data[i] = p.data[i]; } for(int i=0; i<h2.list.col; i++) { d.data[i+h1.list.col] = q.data[i]; } list.row++; if(list.next == null) { list.next = d; } else { r.next = d; } r = d; q = q.next; } p = p.next; } r.next = null; } public static void main(String[] args) { Cartesian h1 = new Cartesian(); System.out.println("表 1:"); h1.create(); h1.display(); Cartesian h2 = new Cartesian(); System.out.println("表 2:"); h2.create(); h2.display(); Cartesian h = new Cartesian(); h.link(h1, h2); System.out.println("连接结果为:"); h.display(); } } class DList { public int[] data = new int[10]; public DList next; } class HList { public int row, col; public DList next; }
结果:
表 1: 表的行数和列数: 3 3 第1行: 1 2 3 第2行: 2 3 3 第3行: 1 1 1 1 2 3 2 3 3 1 1 1 表 2: 表的行数和列数: 3 2 第1行: 3 5 第2行: 1 6 第3行: 3 4 3 5 1 6 3 4 连接结果为: 1 2 3 3 5 1 2 3 1 6 1 2 3 3 4 2 3 3 3 5 2 3 3 1 6 2 3 3 3 4 1 1 1 3 5 1 1 1 1 6 1 1 1 3 4
标签:
原文地址:http://blog.csdn.net/qhairen/article/details/46441641