1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <script>
  7. function Node(v){
  8. this.value=v;
  9. this.next=null;
  10. }
  11. function ArrayList(){
  12. this.head=new Node(null);
  13. this.tail = this.head;
  14. this.append=function(v){
  15. node = new Node(v);
  16. this.tail.next=node;
  17. this.tail=node;
  18. }
  19. this.insertAt=function(ii,v){
  20. node = new Node(v);
  21. //找到位置的节点
  22. tempNode=this.head;
  23. for(i=0;i<ii;i++){
  24. if(tempNode.next!=null){
  25. tempNode=tempNode.next;
  26. }else{
  27. break;
  28. }
  29. }
  30. node.next=tempNode.next;
  31. tempNode.next = node;
  32. }
  33. this.removeAt=function(ii){
  34. node1=this.head; //要删除节点的前一个节点
  35. for(i=0;i<ii;i++){
  36. if(node1.next!=null){
  37. node1=node1.next;
  38. }else{
  39. break;
  40. }
  41. }
  42. node2=node1.next; //要删除的节点
  43. if(node2!=null){
  44. node1.next = node2.next;
  45. if(node2.next==null){
  46. this.tail=node1;
  47. }
  48. }
  49. }
  50.  
  51. }
  52. function Iterator(arryList){
  53. this.point=arryList.head;
  54. this.hasNext=function(){
  55. if(this.point.next!=null){
  56. this.point=this.point.next;
  57. return true;
  58. }else{
  59. return false;
  60. }
  61. }
  62. this.next=function(){
  63. return this.point.value;
  64. }
  65. }
  66.  
  67. var arry = new ArrayList();
  68. arry.append(1);
  69. arry.append(2);
  70. arry.append(3);
  71. arry.insertAt(1,8);
  72. arry.insertAt(0,9);
  73. arry.insertAt(100,100);
  74. arry.insertAt(1000,1000);
  75. arry.insertAt(1,200);
  76. arry.insertAt(200,2000);
  77.  
  78. iterator = new Iterator(arry);
  79. while(iterator.hasNext()){
  80. document.write(iterator.next());
  81. document.write('<br/>');
  82. }
  83. </script>
  84. </head>
  85. <body>
  86.  
  87. </body>
  88. </html>

js链表操作的更多相关文章

  1. js简单操作Cookie

    贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...

  2. JAVA 链表操作:循环链表

    主要分析示例: 一.循环链表简述 二.单链表循环链表 三.双链表循环链表 一.循环链表简述 循环链表即链表形成了一个循环的结构,尾节点不再指向NULL,而是指向头节点HEAD,此时判定链表的结束是尾节 ...

  3. 单链表操作B 分类: 链表 2015-06-07 12:42 15人阅读 评论(0) 收藏

    数据结构上机测试2-2:单链表操作B TimeLimit: 1000ms Memory limit: 65536K 题目描述 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除 ...

  4. YTU 2620: B 链表操作

    2620: B 链表操作 时间限制: 1 Sec  内存限制: 128 MB 提交: 418  解决: 261 题目描述 (1)编写一个函数createlink,用来建立一个动态链表(链表中的节点个数 ...

  5. 使用HTML5的JS选择器操作页面中的元素

    文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> ...

  6. C# 链表操作

    关于链表操作,在C#当中微软已经提供了一个LinkedList<T>的数据结构,通过这个类提供的一系列方法就能够实现链表操作. 这里我提供一段代码,这是在论坛里面有人提问时给出的代码,它实 ...

  7. C语言,单链表操作(增删改查)(version 0.1)

    这天要面试,提前把链表操作重新写了一遍.备份一下,以备不时之需. 希望有人能看到这篇代码,并指正. // File Name : list.h #include "stdafx.h" ...

  8. node.js高效操作mongodb

    node.js高效操作mongodb Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为Jav ...

  9. C语言链表操作模板(添加,删除,遍历,排序)

    C语言链表操作模板,摘自郝斌的C语言视频教程,简单的修改成了纯C格式.当年照着视频学习的时候记录下来的,在使用的时候直接拿来修改修改修改能节约不少时间的. /********************* ...

随机推荐

  1. python 批量修改预定字符串并将修改后的字符串插入文件指定位置

    下面的例子是在文件的指定位置增加指定字符串的例子 修改配置文件: def add_str(pre_str): lines = [] flag = True f = open("z.txt&q ...

  2. Python常用转换函数

    字符串转换为整数 int() 如int('2'). 字符串转换为浮点数 float() 如float('12.34') ASCII码转换为字符 chr() 如chr(97) 字符转换为ASCII码 o ...

  3. 第十篇、模块一、sys\os\hashlib模块的应用

    一.模块分为三种 1)自定义模块 2)第三方模块 3)内置模块 如何导入模块? 下面两种: 1)import 模块名字  as 别名(重新给模块命名) 2)from  模块名字  import 功能( ...

  4. Havel-Hakimi定理 POJ1659

    对于图的所有顶点,计算出每个顶点的度,度序列.给定一个序列判断序列是否可图. #include<cstdio> #include<algorithm> #include< ...

  5. castle windsor学习----- CastleComponentAttribute 特性注册

    [CastleComponent("GenericRepository", typeof(IRepository<>), Lifestyle = LifestyleTy ...

  6. iOS App被拒原因以及解决方案总结。

    Guideline 1.2 - Safety - User Generated Content Your app enables the display of user-generated conte ...

  7. BZOJ 1965 [Ahoi2005]SHUFFLE 洗牌:快速幂 + 逆元

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1965 题意: 对于扑克牌的一次洗牌是这样定义的,将一叠N(N为偶数)张扑克牌平均分成上下两 ...

  8. fatal error C1071: unexpected end of file found in comment

    1.错误 #include<iostream> using namespace std; int main() { ..... return 0; } //如果把注释放到这里了,那么提交就 ...

  9. (转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

    java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...

  10. Oracle学习笔记_04_多表查询

    一.概念: 1.多表连接有以下几种分法: (1)内连接           vs          外连接 (左.右.满) (2)等值连接        vs         不等值连接 (3)非自连 ...