DS W8 アレイとキュー

問題 ID タイトル コンピュータ
1846 A 10 進数と 8 進数の変換 (スタックとキュー)
1847 B |式の評価 (スタックとキュー) //PRN
1848 C 同じシーケンス (スタックとキュー)
1849 D 回文 (スタックとキュー)
1850 E  |異なるポッピング状況 (スタックとキュー)
1851 F ナップザック問題 (スタックとキュー)

問題 ID タイトル クラス後
1852 A |キューの組み合わせ (スタックとキュー) // バックトラッキング
1853 B 最小公倍数 (スタックとキュー)
1854 C 逆スタック (スタックとキュー)
1855 D スタックの基本操作 (スタックとキュー)
1856 Eシーク 部分配列 (スタックとキュー) の最大合計
2355 F | スパース行列の乗算//教科書のコード

マシン上の W8


1846問題 10 進数から 8 進数への変換 (スタックとキュー)

#include <stdio.h>
#include <stdlib.h>

//1846 Problem A	十进制与八进制的转换(栈和队列)
int main(){
	int t; scanf("%d",&t); printf("%o",t);} 

1847問題 B 式の評価 (スタックとキュー)リンク

//REF 年轻过成了秃顶
#include"stdio.h"
#include"string.h"
#define MAX_lenght 10000
typedef struct {double data[MAX_lenght]; int top;} SqStack;//数字的存入。
typedef struct {char data[MAX_lenght]; int top;} SqStackchar;//符号的存入
SqStack S;
SqStackchar Symbol;
void PUSHchar(char t){
  
   
   {
        Symbol.data[Symbol.top]=t;
        Symbol.top++;}}
        
void POPchar(char *t){
  
   
   {
        *t=Symbol.data[Symbol.top-1];
        Symbol.top--;}} 

void PUSH(double e){
  
   
   {
        S.data[S.top]=e;
         S.top++;}}
         
void POP(double *e){
  
   
   {
        *e=S.data[S.top-1];
        S.top--;}}

      
void change(char e){
    static double a,b,c; static char t;
    //如果是 + - 
    if((e=='+'||e=='-') && Symbol.top>0) {t=1;
        while(Symbol.top>0 && t!='('&&t!='['){
            POPchar(&t);
            if((t=='('||t=='[')) break;
            POP(&a); POP(&b);
            switch(t){
                case '+': PUSH(a+b);break;
                case '-': PUSH(b-a);break;
                case 'x': PUSH(a*b);break;
                case '/': PUSH(b/a);break;}
			}
        if(t=='('||t=='[') PUSHchar(t);
        PUSHchar(e);}
    else //如果是 * / 
    if((e=='x'||e=='/') && Symbol.top>0) {t=1;
        while(Symbol.top>0&&t!='('&&t!='['&&t!='+'&&t!='-'){
            POPchar(&t);
            if(t=='('||t=='['||t=='+'||t=='-') break;
            POP(&a); POP(&b);
            switch(t) {
  

おすすめ

転載: blog.csdn.net/qq_51314244/article/details/130068543