일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- 머클루트
- wsl
- 리눅스
- 일반유저
- 환경변수
- node.js 교과서 따라하기
- 변수
- 리액트
- 우분투
- 쉘스크립트
- 깃허브
- 머클트리
- 블록체인
- 라우터
- 이더리움
- 리액트를 다루는 기술
- 설치
- 전역설치
- 솔리디티
- immer
- Docker
- wget
- MariaDB
- 노드
- centos
- Sequelize
- 벨로포터
- npm
- 시퀄라이즈
- Today
- Total
코드코코
210831 stack 과 queue 본문
//스택이 넘침 : 오버플로우 -뻥난다,블루스크린
//더이상 뺄 수 없을때 언더플로우
//stack : 마지막에 삽입된 항목을 제거하고 접근할 수 있는 자료구조(후입선출 Last In Fist Out).
function Stack(arr){
this.arr = [];
if(arr) this.arr =arr;
}
Stack.prototype.getBuffer= function(){
return this.arr.slice();
};
Stack.prototype.isEmpty = function(){ //스택이 비어 있는지 확인
return this.arr.length ==0;
};
Stack.prototype.insert = function(data){ //스택에 넣기
this.arr.push(data);
};
Stack.prototype.pop=function(){
if(this.isEmpty()) throw 'error';//스택이 비어있으면 에러 뱉기
return this.arr.pop(); //스택에 빼기
}
function stackSearch(st,data){ // 찾기
var bufArr=st.getBuffer();
var bufferStack = new Stack(bufArr);
while(!bufferStack.isEmpty()){//비어있을떄까지
if(bufferStack.pop()==data) return true; //데이터 빼?
}
return false;
}
var stack = new Stack();
stack.insert(1);
stack.insert(2);
stack.insert(3);
stack.insert(4);
console.log(stack);
stack.pop();
var stack1 = new Stack();
stack1.insert(10);
stack1.insert(20);
stack1.insert(30);
stack1.insert(40);
var search = stackSearch(stack1,40);
console.log(stack1);
console.log(search);
////////////////////////////////////////////////////////////////////////////
//큐: 먼저 들어온 데이터가 먼저 빠진다.
function Queue(arr){
this.arr=[];
if(arr) this.arr =arr;
}
Queue.prototype.getBuffer = function () {
return this.arr.slice();
};
Queue.prototype.isEmmpty = function (){
return this.arr.length == 0;
};
Queue.prototype.enqueue = function (data) {
return this.arr.push(data);
};
Queue.prototype.dequeue = function () {
return this.arr.shift();
};
var a =[5,7,8,9];
a.sort()
var queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.enqueue(4);
queue.dequeue();
console.log(queue);
'기록 > javascript' 카테고리의 다른 글
[자바스크립트] 변수와 var, let, const (0) | 2021.12.28 |
---|---|
자바스크립트 런타임 (0) | 2021.09.10 |
210825 자바스크립트 수강내용 (0) | 2021.08.25 |