使用Stacks C ++的中缀到Postfix:错误代码6

时间:2017-10-28 22:41:39

标签: c++ stack sigabrt infix-notation postfix

我的任务是使用单链表实现堆栈,将中缀形式的字符串转换为后缀形式。为简单起见,此字符串不包含任何空格。

简而言之,我的算法是:

  1. 从中缀字符串中读取字符

  2. 按操作顺序创建一个带有字符及其相关优先级的临时节点

  3. 如果它是一个操作而不是数字/如果它是一个数字,则将它推入堆栈,自动将其附加到后缀字符串

  4. 每次将字符压入堆栈时,如果堆栈的顶层节点的优先级高于下一个字符的临时节点,则从堆栈中弹出它并将其附加到后缀字符串。

  5. 这些步骤适用于手动进行中缀后缀。 每当我尝试运行我的代码时,我都会收到错误6 SIGABRT。我的代码应该很容易理解。任何人都可以告诉我这个错误意味着什么,为什么我得到它,以及如何修复它以便我的代码正确输出后缀字符串?

    import { Injectable } from '@angular/core';
    
    import { Hero } from './hero';
    import { HEROES } from './mock-heroes';
    
    @Injectable()
    export class HeroService {
     getHeroes(): Promise<Hero[]> {
      return Promise.resolve(HEROES);
     }
    

1 个答案:

答案 0 :(得分:0)

你为什么要在推送中“删除v”?这将删除您刚刚创建的节点。