levsha icon indicating copy to clipboard operation
levsha copied to clipboard

Lists & keys support

Open fomkin opened this issue 8 years ago • 3 comments

Levsha sucks when inserting (or prepending) nodes in container with big number of children.

fomkin avatar Jul 19 '17 14:07 fomkin

https://reactjs.org/docs/lists-and-keys.html

fomkin avatar Jun 11 '20 08:06 fomkin

Pseudo code

if key < old_key then
  node_insert_before(node, old_node)
  move_old_pointer_back()
else key > old_key then
  node_remove(old_node)
  move_current_pointer_back()
else 
  compare_nodes()

fomkin avatar Sep 02 '21 10:09 fomkin

val a = lhs.nextNode
val b = rhs.nextNode
val bb = rhs.nextNode

// 123 -> 0123
if a.key != b.key && a.key == bb.key then
  node_insert_before(a, b)
  rhs.back()
  rhs.back() 
// 1234 -> 134
else if a.key != b.key && a.key != bb.key then
  node_remove(a)
  rhs.back()
  rhs.back() 
else
  compare_nodes()

fomkin avatar Aug 10 '22 13:08 fomkin