zoukankan      html  css  js  c++  java
  • 数据结构与算法之链表(LinkedList)——简单实现

        这一定要mark一下。虽然链表的实现很简单,且本次只实现了一个方法。但关键的是例子:单向链表的反转。这是当年我去H公司面试时,面试官出的的题目,而当时竟然卡壳了。现在回想起来,还是自己的基本功不扎实,代码写的太少。所以现在趁闲暇之余,补课补起来。

     1 class _LinkedListEntry<E> {
     2   E element;
     3   _LinkedListEntry next;
     4 
     5   _LinkedListEntry(this.element);
     6 
     7   String toString() => element.toString();
     8 }
     9 
    10 class LinkedList<E> {
    11   _LinkedListEntry<E> head;
    12 
    13   void add(E element) {
    14     var entry = _LinkedListEntry(element);
    15     entry.next = head;
    16     head = entry;
    17   }
    18 }
    19 
    20 
    21 void main() {
    22   var ll = LinkedList<String>();
    23   ll..add('java')..add('dart')..add('go')..add('c');
    24   for (var ptr = ll.head; ptr != null; ptr = ptr.next) print(ptr);
    25 
    26   print('----------------');
    27   var reversed = reverse(ll);
    28   for (var ptr = reversed.head; ptr != null; ptr = ptr.next) print(ptr);
    29 }
    30 
    31 LinkedList<E> reverse<E>(LinkedList<E> ll) {
    32   var reversed = LinkedList<E>();
    33   var a = ll.head;
    34   while (a != null) {
    35     var t = a.next;
    36     a.next = reversed.head;
    37     reversed.head = a;
    38     a = t;
    39   }
    40   return reversed;
    41 }
  • 相关阅读:
    Unity NPOI 无法读取xlsx
    spring源码之—Assert.notNull
    手工Ghost安装系统
    一键GHOST优盘版安装XP/win7系统
    oncontextmenu事件
    Maven 常用配置
    U盘装win7系统
    eval json ajax
    Maven--pom.xml 配置详解
    Maven 构建
  • 原文地址:https://www.cnblogs.com/outerspace/p/10303954.html
Copyright © 2011-2022 走看看