文档章节

单链表反序

l
 lzg14
发布于 2014/05/29 16:04
字数 265
阅读 293
收藏 7

面试题: 将a-z的26个字母加入一个单链表,输出,然后反序后再输出

/**
 * 
 * @author Jason Li 2014-5
 * 
 *  面试题: 要求将a-z的26个字母加入一个单链表,输出,然后反序后再输出
 * 
 */

public class SingleLinkedListTest {

	public static void main(String[] args) {
		SingleLinkedList sll = new SingleLinkedList();
		
		for (int i = 0; i < 26; i++) {
			sll.add((char)('a' + i));
		}		
		sll.show();		
		sll.reverse();	
		sll.show();
	}

}

//简单的单链表
class SingleLinkedList {

	private Node head;// 头指针
	private Node tail;// 尾指针

	public SingleLinkedList() {
		Node tem = new Node();
		tem.content = 0;
		tem.next = null;
		this.head = this.tail = tem;
	}

	//在链表尾部添加
	public void add(Object o) {
		Node tem = new Node();
		tem.content = o;
		tem.next = null;
		tail.next = tem;
		tail = tem;
	}

	// 反序
	public void reverse() {
		Node insert_point = head.next; //插入位置
		Node cur = insert_point.next; //待插入的节点
		Node tmp;
		
		while (cur != null) {
			tmp = cur.next; //下一个待插入节点
			cur.next = insert_point;//把cur节点插入到插入点之前,
			insert_point = cur; //然后当前节点下变为插入点
			cur = tmp; 
		}
		tail = head.next;
		tail.next = null;
		head.next = insert_point;

	}

	// 显示
	public void show() {
		Node cur = head.next;
		while (cur != null) {
			System.out.print(cur.content);
			cur = cur.next;
			if (cur != null)
				System.out.print("->");
		}
		System.out.println();
	}

	// 节点类
	private class Node {
		public Object content;
		public Node next;
	}

}

 

© 著作权归作者所有

共有 人打赏支持
l
粉丝 8
博文 29
码字总数 11715
作品 0
朝阳
链表各类操作详解

仅供学习使用,附转载连接:http://blog.csdn.net/hackbuteer1/article/details/6591486 链表概述    链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要...

陈国成
2017/06/17
0
0
第十章 Scala 容器(二):如何选择一个合适的容器类

解决方案 实际上Scala的容器分为三大类:Seq,Map,Set。Seq容器线性地存储了元素,这些元素或者被以数组加索引的形式存储,或者使用链表的方式存储。Map存储的是键值对,当你想用(key-val...

阿拉德大陆的魔法师
2016/04/01
242
0
leetcode 2 Add Two Numbers 方法2

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers ......

刘小米
2015/01/30
0
2
反序存储链表

不接触算法相关的东西快两年多了,真的是生疏了。初步计划是每周抽出些时间在LeetCode上作两道算法题。 明有科举八股,今有LeetCode。 八股定格式而取文采心意,LeetCode定题目且重答案背诵。...

吴七禁
2017/11/11
0
0
2015年1月9日XX大学XX学院考试题

复习 一、选择题 1.计算机算法指的是 。 A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 2. 下面关于算法说法正确的是( ) A.算法最终必须由计算机程序实现 B. 为解决某问题的...

请叫我赵小宝
2015/01/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部