java线性表合并_单链表的合并(Java实现)
C语言能做的,Java照样可以做。但是没有指针的操作,可能使人看起来“不舒服”。这个博客是为了个人学习算法和数据结构而开的,以后凡是涉及到这方面的内容,我会尽量用Java和C同时实现。大家一起学习,共同进步。
以下为Java源码:
import java.util.Scanner;
//节点类声明
class Node {
int
data;
Node
next;
}
public class Linklist {
public
static void main(String args[]) {
Node la, lb, lc;
la = creat_list(5);
lb = creat_list(4);
lc = la;
merge_list(la, lb, lc);
print_list(lc);
}
// 链表创建方法
static Node
creat_list(int n) {
int i = 0;
Node p, head;
head = new Node();
head.next = null;
for (i = n; i > 0; i--) {
p = new Node();
System.out.println("input the
value:");
Scanner scn = new Scanner(System.in);
p.data = scn.nextInt();
p.next = head.next;
head.next = p;
}
return head;
}
static void merge_list(Node la, Node lb, Node lc) {
Node pa, pb, pc;
pa = la.next;
pb = lb.next;
pc = lc;
while ((pa != null) && (pb !=
null)) {
if (pa.data <= pb.data) {
pc.next = pa;
pc = pa;
pa = pa.next;
} else {
pc.next = pb;
pc = pb;
pb = pb.next;
}
}
pc.next = (pa==null)?pa:pb;
}
// 链表打印输出方法
static void
print_list(Node head) {
Node p;
p = head.next;
while (p != null) {
System.out.println("[" + p.data +
"]");
p = p.next;
}
}
}
java线性表合并_单链表的合并(Java实现)相关推荐
- 线性表的应用 —— 单链表
线性表的应用 -- 单链表 链表是线性表的链式存储方式,逻辑上相邻的数据在计算机内的存储位置不一定相邻,可以给每个元素都附加一个指针域,指向下一个元素的存储位置. 像这样: 从图中可以看出,每个节点都 ...
- C语言线性表之循环单链表
#include<stdio.h> #include<stdlib.h>int typeOfLinkList;typedef struct LNode{int data;str ...
- [XJTUSE]数据结构学习——第一章 线性表 1.3 单链表的实现(JAVA)
文章目录 1.3 单链表的实现(JAVA) 1.curr指针与头结点的说明 2.插入和删除操作的说明 插入 删除 1.3 单链表的实现(JAVA) 链表是由一系列叫做表的结点(node)的对象组成的, ...
- 数据结构(算法)-线性表2(单链表)
为什么80%的码农都做不了架构师?>>> /** 单链表 双链表1,空的线性表setNull(L) 2,insert 加入元素 3,根据位置查找元素 4,查找所有元素 5,删除 ...
- PHP数据结构之三 线性表中的单链表的PHP实现
线性表的链式存储:用一组任意的存储单元存储线性表中的数据元素.用这种方法存储的线性表简称线性链表. 链式存储线性表的特点:存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散分 ...
- 线性表基本操作,单链表的建立(头插法,尾插法)、插入、删除、遍历操作的实现(c++ 数据结构 实验二)
大学数据结构课程的实验题目,掌握线性表的链接存储结构,用c++语言描述 一.实验要求 1.分别用头插法和尾插法建立一个含有若干结点的单链表 2.对已建立的单链表进行插入.删除.遍历输出等操作 二.代码 ...
- C语言-线性表基本操作之单链表
下面是单链表的基本操作: #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct L ...
- java线性表源代码_线性表java实现之顺序存储源码
源码: class SequenceList{ private int size=0;//表大小 private int max_length;//表长 private final int defau ...
- 线性表详解(静态链表、单链表、双向链表、循环链表)
目录 申明 1. 线性表的定义 2. 线性表的抽象数据类型 3. 线性表的顺序存储结构 3. 1 顺序存储定义 3. 2 顺序存储方式 3. 3 数据长度与线性表长度区别 3. 4 地址计算方法 4. ...
最新文章
- python和excel的区别-Python与Excel 不得不说的事情
- 做到这23条,你就成熟了!
- 计算机c盘知识,为什么电脑系统盘叫C盘而不是A或B盘?
- 周正宁:研发最大的挑战是不断否定常规 否定自己
- Hadoop之Hadoop企业优化(HDFS小文件优化)
- c语言while运行出现错误,【图片】为什么我的while(1)不执行啊?【c语言吧】_百度贴吧...
- 能根治乱象了?豆瓣私密小组将全部停用
- hdu 4320 Arcane Numbers 1 多校联合赛(三)第一题
- python通过jdbc连接hive_Python使用JDBC连接Hive
- C++读写txt文件
- phpstudy下载安装简明教程(图文)
- Educational Codeforces Round 60 (Rated for Div. 2) E. Decypher the String(构造)
- 高数 | 函数可导和函数连续可导
- Android开机自启自动轮播图片或自动轮播视频APP
- 证券行业的数字化转型:数字新基建 (云、中台、数字化解决方案)
- sqlserver 电话号3-8位用*号代替
- java走棋_Java五子棋小游戏(控制台纯Ai算法)
- 2018-08-11 自学笔记
- wpf 响应键盘按键
- 图像Lanczos3滤波C实现——优化
热门文章
- 直播预约 | 揭秘微信支付背后的数据库技术
- 贺TDSQL喜提286万QPS!本文回顾了它的十年锻造之路
- 腾讯企业级消息中间件CMQ技术解密
- Webrtc入门——基于阿里云ubuntu 最新webrtc Android平台编译详细说明
- RTMP协议从入门到放弃
- java spring-webflux netty
- mysql ICP优化的原理
- leetcode 62, 63, 980. Unique Paths I, II, III | 62, 63, 980. 不同路径 I, II, III(暴力递归->傻缓存->动态规划)
- python支持list类型吗_Python-不支持的操作数类型为%:“list”和“int”
- Copy-On-Write读写分离策略和CopyOnWriteArrayList源码分析