1. 程式人生 > >一:排序-堆棧基礎

一:排序-堆棧基礎

輸入 class post for urn sca 入棧 std spa

問題 : 堆棧基礎
題目描述

輸入n個數據(n<=10000),在這組數據中:0表示入棧,1表示出棧(註意:入棧的數據是0後面的數據。如:0 3 0 5是將3 和5入棧)。以-1為結尾,最後輸出堆棧裏剩下的數據。
輸入
一組數,以-1結尾
輸出
堆棧裏剩下的數
樣例輸入
0 1 0 2 0 3 0 8 1 -1
樣例輸出
3 2 1

#include<stdio.h>
int main(){
    int n;
    int a[10000];
    int b[10000];
    int i=0,l,p=0,j;
    while(1){
        scanf("%d",&n);
        if(n==-1
){ break; }else a[i++]=n; } for(j=0;j<i;j++){ if(a[j]==0){ b[p++]=a[j+1]; j++; }else if(a[j]==1){ p--; } } for(j=p-1;j>=0;j--) printf("%d ",b[j]); return 0; }

一:排序-堆棧基礎