비록 모작이지만 모두 이해완료해서 기분좋다
List 소스는 너무길어서 안올린당
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | /* LIST CONSTRUCTOR 1. var list = new std.List(); list.push(1); list.push(2); => List: {1, 2} 2. var list = new std.List(5, 1); => List: {1, 1, 1, 1, 1} 3. var list2 = new std.List(list); => List: {copy} 4/ */ var list = new std.List([1, 2, 3, 4]); /** * LIST ACCESS */ console.log(list.size()); // print 4 console.log(list.front()); // print 1 List: {1, 2, 3, 4} console.log(list.back()); // print 4 List: {1, 2, 3, 4} /** * LIST INPUT / OUTPUT */ list.push_front(3); // List: {3, 1, 2, 3, 4} console.log(list.front()); // print 3 list.push_back(7); // List: {3, 1, 2, 3, 4, 7} console.log(list.back()); // print 7 list.pop_front(); // List: {1, 2, 3, 4, 7} console.log(list.front()); // print 1 list.pop_back(); // List: {1, 2, 3, 4} console.log(list.back()); // print 4 list.push(3); // List: {1, 2, 3, 4, 3} console.log(list.back()); // print 3 /** * ITERATOR */ // List: {1, 2, 3, 4, 3} var it = list.begin(); console.log(it.value); // print 1 // C++ ++ === next() it = it.next(); console.log(it.value); // print 2 // C++ -- === prev() it = it.prev(); console.log(it.value); // print 1 /** * ITERATOR FOR */ // FOR for( var i = list.begin(); i != list.end(); i = i.next() ) { console.log(i.value); // print 1, 2, 3, 4, 3 } // FOR-Reverse for( var i = list.end().prev() ; i != list.end(); i = i.prev() ) { console.log(i.value); // print 3, 4, 3, 2, 1 } /** * ITERATOR ADVANCE */ // List: {1, 2, 3, 4, 3} var it = list.begin().advance(2); console.log(it.value); // print 3 it = it.advance(-1); console.log(it.value); // print 2 /** * ITERATOR ERASE */ var it = list.begin(); list.erase(it, it.advance(1)); for( var i = list.begin(); i != list.end(); i = i.next() ) { console.log(i.value); // print 3, 4, 3 } // CLEAR list.clear(); | cs |
너무길어서 안올라감
추천드립니다 화이팅