입고/출고
6283 단어 창고
#include<iostream>
#include<vector>
using namespace std;
struct node
{
int data;
node *next;
};
struct stack_queue
{
node *bottom;
node *top;
};
//
stack_queue *push_stack(stack_queue *ST, int num)
{
//stack_queue *s=new stack_queue;
node *p=new node;
p->data=num;
p->next=NULL;
if(ST->bottom==NULL)
{
ST->bottom=p;
ST->top=p;
}
else
{
ST->top->next=p;
ST->top=p;
}
return ST;
}
//
stack_queue *pop_stack(stack_queue *ST)
{
node *p=new node;
node *p2=ST->bottom;
if(ST->bottom==NULL)
{
cout<<"overflow"<<endl;
}
else
{
p=ST->top;
if(ST->bottom==ST->top)
{
ST->bottom=NULL;
ST->top=NULL;
delete p;
}
else
{
while(p2->next!=ST->top) p2=p2->next;
p2->next=NULL;
ST->top=p2;
delete p;
}
}
return ST;
}
//print
void print_stack(stack_queue *s)
{
node *p=s->bottom;
vector<int> temp;
while(p!=NULL)
{
temp.push_back(p->data);
p=p->next;
}
cout<<" "<<endl;
for(int i=temp.size()-1;i>=0;i--)
cout<<temp[i]<<endl;
}
int main()
{
stack_queue *p=new stack_queue;
stack_queue *p1;
p->bottom=NULL;
p->top=NULL;
int x;
char c;
cout<<" :"<<endl;
while(cin>>x)
{
p1=push_stack(p,x);
cin.get(c);
if(c=='
')
break;
}
//print_stack(p1);
stack_queue *p2=pop_stack(p1);
print_stack(p2);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python urllib 라이브러리에서 헤더를 추가하는 방법일부 사이트를 요청할 때, 우리는 요청 헤더를 붙여야만 웹 페이지의 캡처를 완성할 수 있다. 그렇지 않으면 오류가 생겨서 캡처한 웹 페이지로 돌아갈 수 없다.다음은 요청 헤더를 추가하는 두 가지 방법을 소개한다. 방...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.