분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
다중스택이라고 하는겁니다. 일단 문제는 배열 A[100]을 10의 스택으로 나누어서 난수 발생시켜 각각의 스택에 무작위로 값을 부여하고 만약 한 스택이 꽉차게 되면 다른 한쪽 여유가 있는 스택에서 하나를 뺏어오는거죠..제가 궁금한건 초기화할때 배열A와 t와 b를 연결시켜줘야하는거죠? A[10*i]=t[i]이런식이 아닌가요?A[t[i]]=e 이부분이 약간 이해가 안가구요..isfull함수는 t가 각각 나뉜 스택에 탑인데 이 t가 다음 스택에 베이스인 b에 도달하면 꽉차있게 된다는걸 함수로 구현하는 건가요? 그렇다면 t[i]==b[i+1]이런식이 되게해야하는건가요?
main
input array A, t, b, size N, integer n
output none
//배열 A에 n개의 스택이 연달아 연결되어있는 형태
//top을 표시하는 t배열과 base를 표시하는 b배열을 초기화한다.
2. k ¬ 1
3. while (k ≤ 100)
i ¬ a random number between 0 and 9 // i번째 스택
e ¬ a random number between 0 and 99 //원소e
push(i, e) //i번째 스택에 원소e를 push
k ¬ k + 1 // 100번삽입하기위한 카운트변수
4. return
push
input array A, t, b, size N, stack i, element e
output none
1. if (isFull(i)) //push하고자 하는 i번째의 스택이 만원일시
showMultiStack()
fullStackException(i) // i번째 스택에 대하여 예외처리
showMultiStack()
2. t[i] ¬ t[i] + 1 // i번째 스택의 top값 증가
3. A[t[i]] ¬ e //실질적인 push작업
4. return
죄송합니다. 댓글 작성은 회원만 가능합니다.