2021年1月19日
17736 ワード
オブジェクト長のブログの取得
資料に関するブログ
https://towardsdatascience.com/8-common-data-structures-every-programmer-must-know-171acf6a1a42
https://learn.g2.com/history-of-computers
QUEUE
資料に関するブログ
https://towardsdatascience.com/8-common-data-structures-every-programmer-must-know-171acf6a1a42
https://learn.g2.com/history-of-computers
QUEUE class Queue {
constructor() {
this.storage = {};
this.front = 0;
this.rear = 0;
}
size() {
return Object.keys(this.storage).length;
}
enqueue(element) {
this.storage[this.rear] = element;
this.rear++;
return this.size();
}
/**
* enqueue는 push와 비슷하다.
*/
dequeue() {
if (this.size() === 0) {
return this.size();
}
let result = this.storage[this.front];
delete this.storage[this.front];
this.front++;
return result;
}
}
let queue = new Queue();
queue.enqueue(100)
1
console.log(queue)
Queue {storage: {…}, front: 0, rear: 1}
front: 0
rear: 1
storage: {0: 100}
__proto__: Object
queue.enqueue(200)
2
console.log(queue)
Queue {storage: {…}, front: 0, rear: 2}
front: 0
rear: 2
storage: {0: 100, 1: 200}
__proto__: Object
queue.dequeue();
100
console.log(queue)
Queue {storage: {…}, front: 1, rear: 2}
front: 1
rear: 2
storage: {1: 200}
__proto__: Object
class Stack {
constructor() {
this.storage = {}; /// []
this.top = -1;
}
size() {
return Object.keys(this.storage).length;
*혹은
let count = 0;
for (let key in this.storage) {
if (key) {
count++;
}
}
return count;
} /// for 문으로도 할 수 있다.//
* for문으로도 할 수 있다.
* 객체에 요소가 몇개가 들어있는지 확인
* 객체를 돌면서 키가 있는지 확인
* 있으면 카운트
* 오브젝트 키 랭스 사용
push(element) {
this.storage[this.size()] = element;
this.top++;
return this.size();
}
* this.size()이 최상단 값이라고 가정
* push로 요소를 추가했을 때
* this.top을 증가시킨다.
* 추가된 객체(배열)의 길이를 리턴
* (Array.prototype.push 사용 시 배열의 길이가 리턴되기 때문에) OOP적인 요소
pop() {
if (this.size() === 0) {
return this.size();
}
let result = this.storage[this.top];
delete this.storage[this.top];
this.top--;
return result;
}
* this.size()가 0일 경우 그대로 size() 리턴
* 객체의 최상단값을 제거
* 최상단의 위치값 -1
* 제거한 최상단값 리턴
}
https://developer.mozilla.org/ko/docs/Web/API/WindowTimers/setTimeout
https://css-tricks.com/ease-out-in-ease-in-out/
Reference
この問題について(2021年1月19日), 我々は、より多くの情報をここで見つけました
https://velog.io/@jtlim0414/2021년-1월-19일-복기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
class Queue {
constructor() {
this.storage = {};
this.front = 0;
this.rear = 0;
}
size() {
return Object.keys(this.storage).length;
}
enqueue(element) {
this.storage[this.rear] = element;
this.rear++;
return this.size();
}
/**
* enqueue는 push와 비슷하다.
*/
dequeue() {
if (this.size() === 0) {
return this.size();
}
let result = this.storage[this.front];
delete this.storage[this.front];
this.front++;
return result;
}
}
let queue = new Queue();
queue.enqueue(100)
1
console.log(queue)
Queue {storage: {…}, front: 0, rear: 1}
front: 0
rear: 1
storage: {0: 100}
__proto__: Object
queue.enqueue(200)
2
console.log(queue)
Queue {storage: {…}, front: 0, rear: 2}
front: 0
rear: 2
storage: {0: 100, 1: 200}
__proto__: Object
queue.dequeue();
100
console.log(queue)
Queue {storage: {…}, front: 1, rear: 2}
front: 1
rear: 2
storage: {1: 200}
__proto__: Object
class Stack {
constructor() {
this.storage = {}; /// []
this.top = -1;
}
size() {
return Object.keys(this.storage).length;
*혹은
let count = 0;
for (let key in this.storage) {
if (key) {
count++;
}
}
return count;
} /// for 문으로도 할 수 있다.//
* for문으로도 할 수 있다.
* 객체에 요소가 몇개가 들어있는지 확인
* 객체를 돌면서 키가 있는지 확인
* 있으면 카운트
* 오브젝트 키 랭스 사용
push(element) {
this.storage[this.size()] = element;
this.top++;
return this.size();
}
* this.size()이 최상단 값이라고 가정
* push로 요소를 추가했을 때
* this.top을 증가시킨다.
* 추가된 객체(배열)의 길이를 리턴
* (Array.prototype.push 사용 시 배열의 길이가 리턴되기 때문에) OOP적인 요소
pop() {
if (this.size() === 0) {
return this.size();
}
let result = this.storage[this.top];
delete this.storage[this.top];
this.top--;
return result;
}
* this.size()가 0일 경우 그대로 size() 리턴
* 객체의 최상단값을 제거
* 최상단의 위치값 -1
* 제거한 최상단값 리턴
}
Reference
この問題について(2021年1月19日), 我々は、より多くの情報をここで見つけました https://velog.io/@jtlim0414/2021년-1월-19일-복기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol