博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java实现链表合并
阅读量:5321 次
发布时间:2019-06-14

本文共 2097 字,大约阅读时间需要 6 分钟。

问题:

实训要求1.	链表操作.要求: 有线性表H1和H2,其元素均按从小到大的升序排列,编写一个算法将它们合并成一个链表表H3,要求H3的元素也是从小到大的升序排列。具体实现:将线性表H1=(23,45,67,89,90,123,145)和H2=(1,34,65,88,98,123,146,234,366)连接成一个新的线性表,并按升序排列输出。    算法思路:依次扫描通过H1和H2的元素,比较当前的元素的值,将较小值的元素赋给H3,如此直到一个线性表扫描完毕,然后将未完的那个链表中余下部分赋给H3即可。请用链式存储结构实现以上操作。

链表实现:
package com.jim.test; //链表类 class Link {
Node head = null; Node point = null; Node newNode = null; public int count = 0;// 统计值 // 插入 public void addNode(int t) {
newNode = new Node(); if (head == null) {
head = newNode; } else {
point = head; while (point.next != null) {
point = point.next; } point.next = newNode; } point = newNode; point.vlaue = t; point.next = null; count++; } // 返回值 public int getValue(int i) {
if (head == null || i < 0 || i > count) return -999999; int n; Node temp = null; point = head; for (n = 0; n <= i; n++) {
temp = point; point = point.next; } return temp.vlaue; } } //节点类 class Node {
int vlaue; Node next; } public class Test {
public static void main(String[] args) {
//H1=(23,45,67,89,90,123,145) Link link1=new Link(); link1.addNode(23); link1.addNode(45); link1.addNode(67); link1.addNode(89); link1.addNode(90); link1.addNode(123); link1.addNode(145); Link link2=new Link(); //H2=(1,34,65,88,98,123,146,234,366) link2.addNode(1); link2.addNode(34); link2.addNode(65); link2.addNode(88); link2.addNode(98); link2.addNode(123); link2.addNode(146); link2.addNode(234); link2.addNode(366); //H3 Link link3=new Link(); int i=0,j=0; while(i
link2.getValue(j)){
link3.addNode(link2.getValue(j)); j++; } //链表H1已经遍历完成,将链表H2余下内容赋给链表H3 if(i==link1.count-1){
while(j
 

转载于:https://www.cnblogs.com/lich/archive/2012/03/14/2397076.html

你可能感兴趣的文章
JAVA⑤
查看>>
CyclicBarrier的使用
查看>>
thinkphp的select和find的区别
查看>>
小程序开发笔记
查看>>
Web框架高级功能之模板、拦截器、Json、打包
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
安装scikit-learn过程记录
查看>>
数据库的标识符可以有多长
查看>>
新手村之循环!循环!循环!
查看>>
在创业公司上班的感受
查看>>
Shell脚本
查看>>
masm32V11配置
查看>>
ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath
查看>>
通过Python、BeautifulSoup爬取Gitee热门开源项目
查看>>
正则表达式的用法
查看>>
线程安全问题
查看>>
集合的内置方法
查看>>
IOS Layer的使用
查看>>
Android SurfaceView实战 带你玩转flabby bird (上)
查看>>
Android中使用Handler造成内存泄露的分析和解决
查看>>