java自写代码--线性表的应用

本文探讨了如何使用Java实现线性表的合并以及有序表的合并,包括普通实现和链表实现。详细介绍了算法步骤,分析了时间复杂度和空间复杂度,并给出了代码实现与运行结果。
摘要由CSDN通过智能技术生成

【都还有一些不完美的地方,比如说代码重复性较高的问题,待改正】

目录

一、线性表的合并

1.问题描述

2.算法步骤

  ①算法

  ②时间复杂度

3.代码实现

4.结果输出

二、有序表的合并

1.问题描述

2.算法步骤

 ①算法

 ②时间复杂度

③空间复杂度

3.代码实现

4.结果输出

三、有序表的合并--用链表实现

1.算法步骤

 ①算法图示过程

 ②算法

 ③时间复杂度

 ④空间复杂度

2.代码实现

3.结果输出


一、线性表的合并

1.问题描述

2.算法步骤

  ①算法

 

  ②时间复杂度

3.代码实现

import java.util.Scanner;

//线性表的合并
public class listUnion {

	public int size;//定义固定表的初始大小
	public int[] La ;
	public int[] Lb ;
	
	Scanner in = new Scanner(System.in);
	int La_len= in.nextInt();//输入La要存入的元素个数,即表长
	int Lb_len= in.nextInt();//输入Lb要存入的元素个数,即表长
	
	public listUnion() {
		this(100);
	}
	
	public listUnion(int size) {//初始化线性表
		La = new int[size];
		Lb = new int[size];
		for(int j=0;j<La_len;j++) {
			La[j]=-1;
			}
		for(int i=0;i<Lb_len;i++) {
			Lb[i]=-1;
			}
	}
	
	public void addNode() {
		Scanner on = new Scanner(System.in);
		
		System.out.print("La表的元素有:");
		for(int j=0;j<La_len;j++) {
			La[j]=on.nextInt();
			System.out.print(La[j]+" ");
		}
			System.out.print("\r");
		
		System.out.print("Lb表的元素有:");
		for(int i=0;i<Lb_len;i++) {
			Lb[i]=on.nextInt();
			System.out.print(Lb[i]+" ");
		}
			System.out.print("\r");
	}
	
	public void addAll() {//将La,Lb合并成Lc
		for(int k=0;k<Lb_len;k++) {
			int e = Lb[k];
			for(int t=0;t<La_len;t++) {
				if(e!=La[t]) {
					if(t==La_len-1) {
						La_len++;
						La[La_len-1]=e;
						break;
					}
				}else {
					break;
				}
			}
	}
		for(int j=0;j<La_len;j++) {
			System.out.print(La[j]+" ");
		}
	}
	
	public static void main(String[] args) {
		listUnion L = new listUnion();
		L.addNode();
		System.out.print("合并后:");
		L.addAll();
	}
}

4.结果输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值