文档章节

创建一个带头结点的单链表,在单链表中删除值相同的多余结点

随风1993
 随风1993
发布于 2017/05/25 17:05
字数 226
阅读 33
收藏 0

/**
 * @author tj
 * 描述:创建一个带头结点的单链表,在单链表中删除值相同的多余结点。
    输入:从键盘上输入数据元素个数n和对应n个元素。
    输出:输出删除多余结点的单链表序列。 
    输入样例:6 3 1 3 4 4 5
    输出样例:3 1 4 5
 */
public class LinkedList {
    
    private int value;
    private LinkedList next;
    
    public static void main(String[] args){
        Scanner cin = new Scanner(System.in);
        while(cin.hasNext()){
            int n = cin.nextInt();
            LinkedList li = new LinkedList();
            for(int i=0;i<n;i++){
                if(i==0){
                    li.value = cin.nextInt();
                }else{
                    li.create(cin.nextInt());
                }
            }
            
            li.list();
        }
    }

    private void remove() {
        // TODO Auto-generated method stub
    }
    
    private void list(){
        if(this!=null){
            System.out.println(this.value);
            if(this.next!=null){
                this.next.list();
            }
        }
    }

    private void create(int nextInt) {
        // TODO Auto-generated method stub
        if(this.next==null){
            this.next = new LinkedList();
            this.next.value = nextInt;
        }else{
            this.next.create(nextInt);
        }
    }

}
 

© 著作权归作者所有

共有 人打赏支持
随风1993
粉丝 0
博文 9
码字总数 2110
作品 0
普陀
后端工程师
私信 提问
实现一个算法,删除单链表中间的某个结点,假定你只能访问该结点

直接free(p),这样行不通,因为我们不能访问其他结点; 如果我们只能访问该结点,可以尝试将该结点的后继结点的数据复制到当前结点,然后删除后继结点 public static boolean deleteNode (Li...

一贱书生
2016/11/15
14
0
JAVA数据结构--------线性表

一、线性表定义: 线性表是由n(n>=0)个类型相同的数据元素组成的有限序列,第一个元素无前驱元素,最后一个无后继元素,其他元素有且仅有一个前驱和一个后继。 线性表接口LList的定义: pack...

Winnie007
2015/08/02
0
0
链表之循环链表

进入循环链表之前我先解决一下上篇博文最后提到到的一种更方便的管理链表的结构: typedef struct node //节点类型 { type value; struct node *next; }Node; typedef struct list { Node *ph...

捕风的xiao_k
2017/05/07
0
0
数据结构 第4讲 单链表

链表是线性表的链式存储方式,逻辑上相邻的数据在计算机内的存储位置不一定相邻,那么怎么表示逻辑上的相邻关系呢?可以给每个元素附加一个指针域,指向下一个元素的存储位置。如图所示: 从...

rainchxy
2017/12/22
0
0
数据结构第4-2讲双向链表

链表是线性表的链式存储方式,逻辑上相邻的数据在计算机内的存储位置不一定相邻,那么怎么表示逻辑上的相邻关系呢? 可以给每个元素附加一个指针域,指向下一个元素的存储位置。这种链表称为...

rainchxy
2017/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nextjs+React非页面组件SSR渲染

@随风溜达的向日葵 Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js入门)...

随风溜达的向日葵
56分钟前
0
0
如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
3
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
6
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
4
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部